{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h1 align=\"center\"> Python for the Humanities and Social Sciences <br> <em>Data Manipulation</em> </h1>\n",
    "\n",
    "## Info\n",
    "- Scott Bailey (CIDR), *scottbailey@stanford.edu*\n",
    "- Javier de la Rosa (CIDR), *versae@stanford.edu*\n",
    "- Ashley Jester (CIDR/SSDS), *ajester@stanford.edu*\n",
    "\n",
    "## Goal\n",
    "By the end of our workshop today, we hope you'll be able to load in data into a Pandas `DataFrame`, perform basic cleaning and analysis, and visualize relevant aspects of a dataset. We will work with a dataset of tweets collected during the release of the Apple Watch.\n",
    "\n",
    "## Topics\n",
    "- Pandas Series and DataFrame\n",
    "- Loading data in, null and missing data\n",
    "- Describing data\n",
    "- Column manipulation\n",
    "- String manipulation\n",
    "- Split-Apply-Combine\n",
    "- Plotting:\n",
    "  - Basic charts (line, bar, pie)\n",
    "  - Histograms\n",
    "  - Scatter plots\n",
    "  - Boxplots, violinplots\n",
    "\n",
    "## Setup and packages we need in our environment\n",
    "We'll be using Anaconda with Jupyter Notebooks for this workshop. For setting up both, please see the [setup](setup.ipynb).\n",
    "\n",
    "For this workshop, we'll need an environment with the following packages:\n",
    "- `matplotlib`\n",
    "- `pandas`\n",
    "- `requests`\n",
    "- `seaborn`, available in the `conda-forge` channel"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Pandas\n",
    "\n",
    "From Jake Vanderplas' book [**Python Data Science Handbook**](http://shop.oreilly.com/product/0636920034919.do) (from which some code excerpts are used in this workshop):\n",
    "\n",
    "> Pandas is a newer package built on top of NumPy, and provides an efficient implementation of a `DataFrame`. `DataFrame`s are essentially multidimensional arrays with attached row and column labels, and often with heterogeneous types and/or missing data. As well as offering a convenient storage interface for labeled data, Pandas implements a number of powerful data operations familiar to users of both database frameworks and spreadsheet programs."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import numpy as np  # np becomes the namespace of numpy\n",
    "import pandas as pd\n",
    "import requests\n",
    "\n",
    "# Set some options\n",
    "pd.set_option('display.max_columns', 20)\n",
    "pd.set_option('display.max_rows', 10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "There are three main data structures in Pandas: `Series`, `DataFrame`, and `Index`. Pandas has a very decent [documentation](http://pandas.pydata.org/pandas-docs/stable/), and using Jupyter, any method help can be shown by appending the a `?` to the end and running the cell."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# For example\n",
    "pd.isnull?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Data I/O"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Pandas provides a few methods to load in and out data in CSVs, Excel spreadsheets, HDF, or even JSON format.\n",
    "\n",
    "For example, click in the next URL of a CSV file containing twitter data during the release of the Apple Watch: http://bit.ly/python_workshop_data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>contributors</th>\n",
       "      <th>created_at</th>\n",
       "      <th>favorite_count</th>\n",
       "      <th>favorited</th>\n",
       "      <th>filter_level</th>\n",
       "      <th>id</th>\n",
       "      <th>id_str</th>\n",
       "      <th>in_reply_to_screen_name</th>\n",
       "      <th>in_reply_to_status_id</th>\n",
       "      <th>in_reply_to_status_id_str</th>\n",
       "      <th>...</th>\n",
       "      <th>hashtags</th>\n",
       "      <th>media</th>\n",
       "      <th>symbols</th>\n",
       "      <th>trends</th>\n",
       "      <th>urls</th>\n",
       "      <th>user_mentions</th>\n",
       "      <th>lat</th>\n",
       "      <th>lon</th>\n",
       "      <th>country</th>\n",
       "      <th>conuntry_code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:01:01.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575038603887251456</td>\n",
       "      <td>5.750386e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://ift.tt/1AXDXIR</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:08:06.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575040384482590720</td>\n",
       "      <td>5.750404e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://twitter.com/MisterC00l/status/575013358...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>MisterC00l</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:21:47.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575043831525146624</td>\n",
       "      <td>5.750438e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>android</td>\n",
       "      <td>http://twitter.com/androidcentral/status/57502...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://phon.es/yljt</td>\n",
       "      <td>androidcentral</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:27:31.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045273384263680</td>\n",
       "      <td>5.750453e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://huff.to/1KMYiMd</td>\n",
       "      <td>LeHuffPost</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:01:23.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575038696988131328</td>\n",
       "      <td>5.750387e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://japan.cnet.com/sp/apple_watch/35061515/...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9980</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:21:24.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575043732472528896</td>\n",
       "      <td>5.750437e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://www.apple.com/ru/watch/battery.html</td>\n",
       "      <td>wylsacom</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9981</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:32:28.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575046518094200832</td>\n",
       "      <td>5.750465e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9982</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:27:59.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045390338256896</td>\n",
       "      <td>5.750454e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://twitter.com/SAI/status/5750453903382568...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://read.bi/1AXKvrd</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9983</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:27:31.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045274558578688</td>\n",
       "      <td>5.750453e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://apple.com/watch,https://amp.twimg.com/v...</td>\n",
       "      <td>AppStore</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9984</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:30:20.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045979759599616</td>\n",
       "      <td>5.750460e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>9985 rows × 37 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      contributors               created_at  favorite_count  favorited  \\\n",
       "0              NaN  2015-03-09 21:01:01.000             0.0        0.0   \n",
       "1              NaN  2015-03-09 21:08:06.000             0.0        0.0   \n",
       "2              NaN  2015-03-09 21:21:47.000             0.0        0.0   \n",
       "3              NaN  2015-03-09 21:27:31.000             0.0        0.0   \n",
       "4              NaN  2015-03-09 21:01:23.000             0.0        0.0   \n",
       "...            ...                      ...             ...        ...   \n",
       "9980           NaN  2015-03-09 21:21:24.000             0.0        0.0   \n",
       "9981           NaN  2015-03-09 21:32:28.000             0.0        0.0   \n",
       "9982           NaN  2015-03-09 21:27:59.000             0.0        0.0   \n",
       "9983           NaN  2015-03-09 21:27:31.000             0.0        0.0   \n",
       "9984           NaN  2015-03-09 21:30:20.000             0.0        0.0   \n",
       "\n",
       "     filter_level                  id        id_str in_reply_to_screen_name  \\\n",
       "0             low  575038603887251456  5.750386e+17                     NaN   \n",
       "1             low  575040384482590720  5.750404e+17                     NaN   \n",
       "2             low  575043831525146624  5.750438e+17                     NaN   \n",
       "3             low  575045273384263680  5.750453e+17                     NaN   \n",
       "4             low  575038696988131328  5.750387e+17                     NaN   \n",
       "...           ...                 ...           ...                     ...   \n",
       "9980          low  575043732472528896  5.750437e+17                     NaN   \n",
       "9981          low  575046518094200832  5.750465e+17                     NaN   \n",
       "9982          low  575045390338256896  5.750454e+17                     NaN   \n",
       "9983          low  575045274558578688  5.750453e+17                     NaN   \n",
       "9984          low  575045979759599616  5.750460e+17                     NaN   \n",
       "\n",
       "      in_reply_to_status_id  in_reply_to_status_id_str      ...       \\\n",
       "0                       NaN                        NaN      ...        \n",
       "1                       NaN                        NaN      ...        \n",
       "2                       NaN                        NaN      ...        \n",
       "3                       NaN                        NaN      ...        \n",
       "4                       NaN                        NaN      ...        \n",
       "...                     ...                        ...      ...        \n",
       "9980                    NaN                        NaN      ...        \n",
       "9981                    NaN                        NaN      ...        \n",
       "9982                    NaN                        NaN      ...        \n",
       "9983                    NaN                        NaN      ...        \n",
       "9984                    NaN                        NaN      ...        \n",
       "\n",
       "      hashtags                                              media symbols  \\\n",
       "0          NaN                                                NaN     NaN   \n",
       "1          NaN  http://twitter.com/MisterC00l/status/575013358...     NaN   \n",
       "2      android  http://twitter.com/androidcentral/status/57502...     NaN   \n",
       "3          NaN                                                NaN     NaN   \n",
       "4          NaN                                                NaN     NaN   \n",
       "...        ...                                                ...     ...   \n",
       "9980       NaN                                                NaN     NaN   \n",
       "9981       NaN                                                NaN     NaN   \n",
       "9982       NaN  http://twitter.com/SAI/status/5750453903382568...     NaN   \n",
       "9983       NaN                                                NaN     NaN   \n",
       "9984       NaN                                                NaN     NaN   \n",
       "\n",
       "      trends                                               urls  \\\n",
       "0        NaN                              http://ift.tt/1AXDXIR   \n",
       "1        NaN                                                NaN   \n",
       "2        NaN                                http://phon.es/yljt   \n",
       "3        NaN                             http://huff.to/1KMYiMd   \n",
       "4        NaN  http://japan.cnet.com/sp/apple_watch/35061515/...   \n",
       "...      ...                                                ...   \n",
       "9980     NaN         http://www.apple.com/ru/watch/battery.html   \n",
       "9981     NaN                                                NaN   \n",
       "9982     NaN                             http://read.bi/1AXKvrd   \n",
       "9983     NaN  http://apple.com/watch,https://amp.twimg.com/v...   \n",
       "9984     NaN                                                NaN   \n",
       "\n",
       "       user_mentions  lat  lon country conuntry_code  \n",
       "0                NaN  NaN  NaN     NaN           NaN  \n",
       "1         MisterC00l  NaN  NaN     NaN           NaN  \n",
       "2     androidcentral  NaN  NaN     NaN           NaN  \n",
       "3         LeHuffPost  NaN  NaN     NaN           NaN  \n",
       "4                NaN  NaN  NaN     NaN           NaN  \n",
       "...              ...  ...  ...     ...           ...  \n",
       "9980        wylsacom  NaN  NaN     NaN           NaN  \n",
       "9981             NaN  NaN  NaN     NaN           NaN  \n",
       "9982             NaN  NaN  NaN     NaN           NaN  \n",
       "9983        AppStore  NaN  NaN     NaN           NaN  \n",
       "9984             NaN  NaN  NaN     NaN           NaN  \n",
       "\n",
       "[9985 rows x 37 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Pandas can fetch data from a URL\n",
    "pd.read_csv(\"http://bit.ly/python_workshop_data\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's save the previous data to a local file."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "with open(\"twitter.csv\", \"wb\") as file:\n",
    "    file.write(requests.get(\"http://bit.ly/python_workshop_data\").content)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>contributors</th>\n",
       "      <th>created_at</th>\n",
       "      <th>favorite_count</th>\n",
       "      <th>favorited</th>\n",
       "      <th>filter_level</th>\n",
       "      <th>id</th>\n",
       "      <th>id_str</th>\n",
       "      <th>in_reply_to_screen_name</th>\n",
       "      <th>in_reply_to_status_id</th>\n",
       "      <th>in_reply_to_status_id_str</th>\n",
       "      <th>...</th>\n",
       "      <th>hashtags</th>\n",
       "      <th>media</th>\n",
       "      <th>symbols</th>\n",
       "      <th>trends</th>\n",
       "      <th>urls</th>\n",
       "      <th>user_mentions</th>\n",
       "      <th>lat</th>\n",
       "      <th>lon</th>\n",
       "      <th>country</th>\n",
       "      <th>conuntry_code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:01:01.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575038603887251456</td>\n",
       "      <td>5.750386e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://ift.tt/1AXDXIR</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:08:06.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575040384482590720</td>\n",
       "      <td>5.750404e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://twitter.com/MisterC00l/status/575013358...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>MisterC00l</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:21:47.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575043831525146624</td>\n",
       "      <td>5.750438e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>android</td>\n",
       "      <td>http://twitter.com/androidcentral/status/57502...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://phon.es/yljt</td>\n",
       "      <td>androidcentral</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:27:31.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045273384263680</td>\n",
       "      <td>5.750453e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://huff.to/1KMYiMd</td>\n",
       "      <td>LeHuffPost</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:01:23.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575038696988131328</td>\n",
       "      <td>5.750387e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://japan.cnet.com/sp/apple_watch/35061515/...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9980</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:21:24.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575043732472528896</td>\n",
       "      <td>5.750437e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://www.apple.com/ru/watch/battery.html</td>\n",
       "      <td>wylsacom</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9981</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:32:28.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575046518094200832</td>\n",
       "      <td>5.750465e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9982</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:27:59.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045390338256896</td>\n",
       "      <td>5.750454e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://twitter.com/SAI/status/5750453903382568...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://read.bi/1AXKvrd</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9983</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:27:31.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045274558578688</td>\n",
       "      <td>5.750453e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://apple.com/watch,https://amp.twimg.com/v...</td>\n",
       "      <td>AppStore</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9984</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:30:20.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045979759599616</td>\n",
       "      <td>5.750460e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>9985 rows × 37 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      contributors               created_at  favorite_count  favorited  \\\n",
       "0              NaN  2015-03-09 21:01:01.000             0.0        0.0   \n",
       "1              NaN  2015-03-09 21:08:06.000             0.0        0.0   \n",
       "2              NaN  2015-03-09 21:21:47.000             0.0        0.0   \n",
       "3              NaN  2015-03-09 21:27:31.000             0.0        0.0   \n",
       "4              NaN  2015-03-09 21:01:23.000             0.0        0.0   \n",
       "...            ...                      ...             ...        ...   \n",
       "9980           NaN  2015-03-09 21:21:24.000             0.0        0.0   \n",
       "9981           NaN  2015-03-09 21:32:28.000             0.0        0.0   \n",
       "9982           NaN  2015-03-09 21:27:59.000             0.0        0.0   \n",
       "9983           NaN  2015-03-09 21:27:31.000             0.0        0.0   \n",
       "9984           NaN  2015-03-09 21:30:20.000             0.0        0.0   \n",
       "\n",
       "     filter_level                  id        id_str in_reply_to_screen_name  \\\n",
       "0             low  575038603887251456  5.750386e+17                     NaN   \n",
       "1             low  575040384482590720  5.750404e+17                     NaN   \n",
       "2             low  575043831525146624  5.750438e+17                     NaN   \n",
       "3             low  575045273384263680  5.750453e+17                     NaN   \n",
       "4             low  575038696988131328  5.750387e+17                     NaN   \n",
       "...           ...                 ...           ...                     ...   \n",
       "9980          low  575043732472528896  5.750437e+17                     NaN   \n",
       "9981          low  575046518094200832  5.750465e+17                     NaN   \n",
       "9982          low  575045390338256896  5.750454e+17                     NaN   \n",
       "9983          low  575045274558578688  5.750453e+17                     NaN   \n",
       "9984          low  575045979759599616  5.750460e+17                     NaN   \n",
       "\n",
       "      in_reply_to_status_id  in_reply_to_status_id_str      ...       \\\n",
       "0                       NaN                        NaN      ...        \n",
       "1                       NaN                        NaN      ...        \n",
       "2                       NaN                        NaN      ...        \n",
       "3                       NaN                        NaN      ...        \n",
       "4                       NaN                        NaN      ...        \n",
       "...                     ...                        ...      ...        \n",
       "9980                    NaN                        NaN      ...        \n",
       "9981                    NaN                        NaN      ...        \n",
       "9982                    NaN                        NaN      ...        \n",
       "9983                    NaN                        NaN      ...        \n",
       "9984                    NaN                        NaN      ...        \n",
       "\n",
       "      hashtags                                              media symbols  \\\n",
       "0          NaN                                                NaN     NaN   \n",
       "1          NaN  http://twitter.com/MisterC00l/status/575013358...     NaN   \n",
       "2      android  http://twitter.com/androidcentral/status/57502...     NaN   \n",
       "3          NaN                                                NaN     NaN   \n",
       "4          NaN                                                NaN     NaN   \n",
       "...        ...                                                ...     ...   \n",
       "9980       NaN                                                NaN     NaN   \n",
       "9981       NaN                                                NaN     NaN   \n",
       "9982       NaN  http://twitter.com/SAI/status/5750453903382568...     NaN   \n",
       "9983       NaN                                                NaN     NaN   \n",
       "9984       NaN                                                NaN     NaN   \n",
       "\n",
       "      trends                                               urls  \\\n",
       "0        NaN                              http://ift.tt/1AXDXIR   \n",
       "1        NaN                                                NaN   \n",
       "2        NaN                                http://phon.es/yljt   \n",
       "3        NaN                             http://huff.to/1KMYiMd   \n",
       "4        NaN  http://japan.cnet.com/sp/apple_watch/35061515/...   \n",
       "...      ...                                                ...   \n",
       "9980     NaN         http://www.apple.com/ru/watch/battery.html   \n",
       "9981     NaN                                                NaN   \n",
       "9982     NaN                             http://read.bi/1AXKvrd   \n",
       "9983     NaN  http://apple.com/watch,https://amp.twimg.com/v...   \n",
       "9984     NaN                                                NaN   \n",
       "\n",
       "       user_mentions  lat  lon country conuntry_code  \n",
       "0                NaN  NaN  NaN     NaN           NaN  \n",
       "1         MisterC00l  NaN  NaN     NaN           NaN  \n",
       "2     androidcentral  NaN  NaN     NaN           NaN  \n",
       "3         LeHuffPost  NaN  NaN     NaN           NaN  \n",
       "4                NaN  NaN  NaN     NaN           NaN  \n",
       "...              ...  ...  ...     ...           ...  \n",
       "9980        wylsacom  NaN  NaN     NaN           NaN  \n",
       "9981             NaN  NaN  NaN     NaN           NaN  \n",
       "9982             NaN  NaN  NaN     NaN           NaN  \n",
       "9983        AppStore  NaN  NaN     NaN           NaN  \n",
       "9984             NaN  NaN  NaN     NaN           NaN  \n",
       "\n",
       "[9985 rows x 37 columns]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.read_csv(\"twitter.csv\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's reload the CSV but this time specifying a index column"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>contributors</th>\n",
       "      <th>favorite_count</th>\n",
       "      <th>favorited</th>\n",
       "      <th>filter_level</th>\n",
       "      <th>id</th>\n",
       "      <th>id_str</th>\n",
       "      <th>in_reply_to_screen_name</th>\n",
       "      <th>in_reply_to_status_id</th>\n",
       "      <th>in_reply_to_status_id_str</th>\n",
       "      <th>in_reply_to_user_id</th>\n",
       "      <th>...</th>\n",
       "      <th>hashtags</th>\n",
       "      <th>media</th>\n",
       "      <th>symbols</th>\n",
       "      <th>trends</th>\n",
       "      <th>urls</th>\n",
       "      <th>user_mentions</th>\n",
       "      <th>lat</th>\n",
       "      <th>lon</th>\n",
       "      <th>country</th>\n",
       "      <th>conuntry_code</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:01:01.000</th>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575038603887251456</td>\n",
       "      <td>5.750386e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://ift.tt/1AXDXIR</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:08:06.000</th>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575040384482590720</td>\n",
       "      <td>5.750404e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://twitter.com/MisterC00l/status/575013358...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>MisterC00l</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:21:47.000</th>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575043831525146624</td>\n",
       "      <td>5.750438e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>android</td>\n",
       "      <td>http://twitter.com/androidcentral/status/57502...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://phon.es/yljt</td>\n",
       "      <td>androidcentral</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:27:31.000</th>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045273384263680</td>\n",
       "      <td>5.750453e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://huff.to/1KMYiMd</td>\n",
       "      <td>LeHuffPost</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:01:23.000</th>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575038696988131328</td>\n",
       "      <td>5.750387e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://japan.cnet.com/sp/apple_watch/35061515/...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:21:24.000</th>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575043732472528896</td>\n",
       "      <td>5.750437e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://www.apple.com/ru/watch/battery.html</td>\n",
       "      <td>wylsacom</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:32:28.000</th>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575046518094200832</td>\n",
       "      <td>5.750465e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:27:59.000</th>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045390338256896</td>\n",
       "      <td>5.750454e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://twitter.com/SAI/status/5750453903382568...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://read.bi/1AXKvrd</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:27:31.000</th>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045274558578688</td>\n",
       "      <td>5.750453e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://apple.com/watch,https://amp.twimg.com/v...</td>\n",
       "      <td>AppStore</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:30:20.000</th>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045979759599616</td>\n",
       "      <td>5.750460e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>9985 rows × 36 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                         contributors  favorite_count  favorited filter_level  \\\n",
       "created_at                                                                      \n",
       "2015-03-09 21:01:01.000           NaN             0.0        0.0          low   \n",
       "2015-03-09 21:08:06.000           NaN             0.0        0.0          low   \n",
       "2015-03-09 21:21:47.000           NaN             0.0        0.0          low   \n",
       "2015-03-09 21:27:31.000           NaN             0.0        0.0          low   \n",
       "2015-03-09 21:01:23.000           NaN             0.0        0.0          low   \n",
       "...                               ...             ...        ...          ...   \n",
       "2015-03-09 21:21:24.000           NaN             0.0        0.0          low   \n",
       "2015-03-09 21:32:28.000           NaN             0.0        0.0          low   \n",
       "2015-03-09 21:27:59.000           NaN             0.0        0.0          low   \n",
       "2015-03-09 21:27:31.000           NaN             0.0        0.0          low   \n",
       "2015-03-09 21:30:20.000           NaN             0.0        0.0          low   \n",
       "\n",
       "                                         id        id_str  \\\n",
       "created_at                                                  \n",
       "2015-03-09 21:01:01.000  575038603887251456  5.750386e+17   \n",
       "2015-03-09 21:08:06.000  575040384482590720  5.750404e+17   \n",
       "2015-03-09 21:21:47.000  575043831525146624  5.750438e+17   \n",
       "2015-03-09 21:27:31.000  575045273384263680  5.750453e+17   \n",
       "2015-03-09 21:01:23.000  575038696988131328  5.750387e+17   \n",
       "...                                     ...           ...   \n",
       "2015-03-09 21:21:24.000  575043732472528896  5.750437e+17   \n",
       "2015-03-09 21:32:28.000  575046518094200832  5.750465e+17   \n",
       "2015-03-09 21:27:59.000  575045390338256896  5.750454e+17   \n",
       "2015-03-09 21:27:31.000  575045274558578688  5.750453e+17   \n",
       "2015-03-09 21:30:20.000  575045979759599616  5.750460e+17   \n",
       "\n",
       "                        in_reply_to_screen_name  in_reply_to_status_id  \\\n",
       "created_at                                                               \n",
       "2015-03-09 21:01:01.000                     NaN                    NaN   \n",
       "2015-03-09 21:08:06.000                     NaN                    NaN   \n",
       "2015-03-09 21:21:47.000                     NaN                    NaN   \n",
       "2015-03-09 21:27:31.000                     NaN                    NaN   \n",
       "2015-03-09 21:01:23.000                     NaN                    NaN   \n",
       "...                                         ...                    ...   \n",
       "2015-03-09 21:21:24.000                     NaN                    NaN   \n",
       "2015-03-09 21:32:28.000                     NaN                    NaN   \n",
       "2015-03-09 21:27:59.000                     NaN                    NaN   \n",
       "2015-03-09 21:27:31.000                     NaN                    NaN   \n",
       "2015-03-09 21:30:20.000                     NaN                    NaN   \n",
       "\n",
       "                         in_reply_to_status_id_str  in_reply_to_user_id  \\\n",
       "created_at                                                                \n",
       "2015-03-09 21:01:01.000                        NaN                  NaN   \n",
       "2015-03-09 21:08:06.000                        NaN                  NaN   \n",
       "2015-03-09 21:21:47.000                        NaN                  NaN   \n",
       "2015-03-09 21:27:31.000                        NaN                  NaN   \n",
       "2015-03-09 21:01:23.000                        NaN                  NaN   \n",
       "...                                            ...                  ...   \n",
       "2015-03-09 21:21:24.000                        NaN                  NaN   \n",
       "2015-03-09 21:32:28.000                        NaN                  NaN   \n",
       "2015-03-09 21:27:59.000                        NaN                  NaN   \n",
       "2015-03-09 21:27:31.000                        NaN                  NaN   \n",
       "2015-03-09 21:30:20.000                        NaN                  NaN   \n",
       "\n",
       "                             ...       hashtags  \\\n",
       "created_at                   ...                  \n",
       "2015-03-09 21:01:01.000      ...            NaN   \n",
       "2015-03-09 21:08:06.000      ...            NaN   \n",
       "2015-03-09 21:21:47.000      ...        android   \n",
       "2015-03-09 21:27:31.000      ...            NaN   \n",
       "2015-03-09 21:01:23.000      ...            NaN   \n",
       "...                          ...            ...   \n",
       "2015-03-09 21:21:24.000      ...            NaN   \n",
       "2015-03-09 21:32:28.000      ...            NaN   \n",
       "2015-03-09 21:27:59.000      ...            NaN   \n",
       "2015-03-09 21:27:31.000      ...            NaN   \n",
       "2015-03-09 21:30:20.000      ...            NaN   \n",
       "\n",
       "                                                                     media  \\\n",
       "created_at                                                                   \n",
       "2015-03-09 21:01:01.000                                                NaN   \n",
       "2015-03-09 21:08:06.000  http://twitter.com/MisterC00l/status/575013358...   \n",
       "2015-03-09 21:21:47.000  http://twitter.com/androidcentral/status/57502...   \n",
       "2015-03-09 21:27:31.000                                                NaN   \n",
       "2015-03-09 21:01:23.000                                                NaN   \n",
       "...                                                                    ...   \n",
       "2015-03-09 21:21:24.000                                                NaN   \n",
       "2015-03-09 21:32:28.000                                                NaN   \n",
       "2015-03-09 21:27:59.000  http://twitter.com/SAI/status/5750453903382568...   \n",
       "2015-03-09 21:27:31.000                                                NaN   \n",
       "2015-03-09 21:30:20.000                                                NaN   \n",
       "\n",
       "                         symbols trends  \\\n",
       "created_at                                \n",
       "2015-03-09 21:01:01.000      NaN    NaN   \n",
       "2015-03-09 21:08:06.000      NaN    NaN   \n",
       "2015-03-09 21:21:47.000      NaN    NaN   \n",
       "2015-03-09 21:27:31.000      NaN    NaN   \n",
       "2015-03-09 21:01:23.000      NaN    NaN   \n",
       "...                          ...    ...   \n",
       "2015-03-09 21:21:24.000      NaN    NaN   \n",
       "2015-03-09 21:32:28.000      NaN    NaN   \n",
       "2015-03-09 21:27:59.000      NaN    NaN   \n",
       "2015-03-09 21:27:31.000      NaN    NaN   \n",
       "2015-03-09 21:30:20.000      NaN    NaN   \n",
       "\n",
       "                                                                      urls  \\\n",
       "created_at                                                                   \n",
       "2015-03-09 21:01:01.000                              http://ift.tt/1AXDXIR   \n",
       "2015-03-09 21:08:06.000                                                NaN   \n",
       "2015-03-09 21:21:47.000                                http://phon.es/yljt   \n",
       "2015-03-09 21:27:31.000                             http://huff.to/1KMYiMd   \n",
       "2015-03-09 21:01:23.000  http://japan.cnet.com/sp/apple_watch/35061515/...   \n",
       "...                                                                    ...   \n",
       "2015-03-09 21:21:24.000         http://www.apple.com/ru/watch/battery.html   \n",
       "2015-03-09 21:32:28.000                                                NaN   \n",
       "2015-03-09 21:27:59.000                             http://read.bi/1AXKvrd   \n",
       "2015-03-09 21:27:31.000  http://apple.com/watch,https://amp.twimg.com/v...   \n",
       "2015-03-09 21:30:20.000                                                NaN   \n",
       "\n",
       "                          user_mentions  lat lon country conuntry_code  \n",
       "created_at                                                              \n",
       "2015-03-09 21:01:01.000             NaN  NaN NaN     NaN           NaN  \n",
       "2015-03-09 21:08:06.000      MisterC00l  NaN NaN     NaN           NaN  \n",
       "2015-03-09 21:21:47.000  androidcentral  NaN NaN     NaN           NaN  \n",
       "2015-03-09 21:27:31.000      LeHuffPost  NaN NaN     NaN           NaN  \n",
       "2015-03-09 21:01:23.000             NaN  NaN NaN     NaN           NaN  \n",
       "...                                 ...  ...  ..     ...           ...  \n",
       "2015-03-09 21:21:24.000        wylsacom  NaN NaN     NaN           NaN  \n",
       "2015-03-09 21:32:28.000             NaN  NaN NaN     NaN           NaN  \n",
       "2015-03-09 21:27:59.000             NaN  NaN NaN     NaN           NaN  \n",
       "2015-03-09 21:27:31.000        AppStore  NaN NaN     NaN           NaN  \n",
       "2015-03-09 21:30:20.000             NaN  NaN NaN     NaN           NaN  \n",
       "\n",
       "[9985 rows x 36 columns]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv(\"twitter.csv\", index_col=\"created_at\")\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we can just save the clean data to any format supported by Pandas"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df.to_csv(\"twitter_indexed.csv\", encoding=\"utf8\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## `DataFrame` and `Series`\n",
    "\n",
    "A `DataFrame` is a two-dimensional array with both flexible row indices and flexible column names. It can be seen as a generalization of a two-dimensional NumPy array, or a specialization of a dictionary in which each column name maps to a `Series` of column data. A `Series` is a one-dimensional array of indexed data. It can be seem as a specialized dictionary or a generalized NumPy array.\n",
    "\n",
    "A `DataFrame` is made up of `Series` in a similar way in which a table is made up of columns. The only restriction os that ach column must be of the same data type."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['contributors', 'created_at', 'favorite_count', 'favorited',\n",
       "       'filter_level', 'id', 'id_str', 'in_reply_to_screen_name',\n",
       "       'in_reply_to_status_id', 'in_reply_to_status_id_str',\n",
       "       'in_reply_to_user_id', 'in_reply_to_user_id_str', 'lang', 'limit',\n",
       "       'place', 'possibly_sensitive', 'retweet_count', 'retweeted', 'source',\n",
       "       'text', 'timestamp_ms', 'truncated', 'user_id', 'user_screen_name',\n",
       "       'user_name', 'user_lang', 'user_location', 'hashtags', 'media',\n",
       "       'symbols', 'trends', 'urls', 'user_mentions', 'lat', 'lon', 'country',\n",
       "       'conuntry_code'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv(\"twitter.csv\")\n",
    "df.columns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Accessing columns can be done using the dot notation, `df.column_name`, or the dictionary notation, `df[\"column_name\"]`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0                                   http://ift.tt/1AXDXIR\n",
       "1                                                     NaN\n",
       "2                                     http://phon.es/yljt\n",
       "3                                  http://huff.to/1KMYiMd\n",
       "4       http://japan.cnet.com/sp/apple_watch/35061515/...\n",
       "                              ...                        \n",
       "9980           http://www.apple.com/ru/watch/battery.html\n",
       "9981                                                  NaN\n",
       "9982                               http://read.bi/1AXKvrd\n",
       "9983    http://apple.com/watch,https://amp.twimg.com/v...\n",
       "9984                                                  NaN\n",
       "Name: urls, dtype: object"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"urls\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0                                   http://ift.tt/1AXDXIR\n",
       "1                                                     NaN\n",
       "2                                     http://phon.es/yljt\n",
       "3                                  http://huff.to/1KMYiMd\n",
       "4       http://japan.cnet.com/sp/apple_watch/35061515/...\n",
       "                              ...                        \n",
       "9980           http://www.apple.com/ru/watch/battery.html\n",
       "9981                                                  NaN\n",
       "9982                               http://read.bi/1AXKvrd\n",
       "9983    http://apple.com/watch,https://amp.twimg.com/v...\n",
       "9984                                                  NaN\n",
       "Name: urls, dtype: object"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.urls"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`DataFrame`s can be sliced to extract just a set of the columns you are interested in. We just pass in a list of the columns we need to the slice and get a `DataFrame` back."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>urls</th>\n",
       "      <th>text</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>http://ift.tt/1AXDXIR</td>\n",
       "      <td>'Gold On My MacBook' is the perfect rap song f...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>NaN</td>\n",
       "      <td>RT @MisterC00l: Noyer son Apple Watch en or à ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>http://phon.es/yljt</td>\n",
       "      <td>RT @androidcentral: Apple's new MacBook cable ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>http://huff.to/1KMYiMd</td>\n",
       "      <td>RT @LeHuffPost: Apple Watch Edition: un prix s...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>http://japan.cnet.com/sp/apple_watch/35061515/...</td>\n",
       "      <td>＜CNET Japan＞「Apple Watch」日本でも4月10日より予約開始--4万28...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9980</th>\n",
       "      <td>http://www.apple.com/ru/watch/battery.html</td>\n",
       "      <td>RT @wylsacom: Все про батарею Apple Watch:\\nht...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9981</th>\n",
       "      <td>NaN</td>\n",
       "      <td>MT: Was totally gonna buy an Apple WATCH Editi...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9982</th>\n",
       "      <td>http://read.bi/1AXKvrd</td>\n",
       "      <td>Apple has installed a permanent undeletable Ap...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9983</th>\n",
       "      <td>http://apple.com/watch,https://amp.twimg.com/v...</td>\n",
       "      <td>RT @AppStore: The Watch is coming. 4.24.15.  h...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9984</th>\n",
       "      <td>NaN</td>\n",
       "      <td>Apple может продать 15,4 млн часов Apple Watch...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>9985 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                   urls  \\\n",
       "0                                 http://ift.tt/1AXDXIR   \n",
       "1                                                   NaN   \n",
       "2                                   http://phon.es/yljt   \n",
       "3                                http://huff.to/1KMYiMd   \n",
       "4     http://japan.cnet.com/sp/apple_watch/35061515/...   \n",
       "...                                                 ...   \n",
       "9980         http://www.apple.com/ru/watch/battery.html   \n",
       "9981                                                NaN   \n",
       "9982                             http://read.bi/1AXKvrd   \n",
       "9983  http://apple.com/watch,https://amp.twimg.com/v...   \n",
       "9984                                                NaN   \n",
       "\n",
       "                                                   text  \n",
       "0     'Gold On My MacBook' is the perfect rap song f...  \n",
       "1     RT @MisterC00l: Noyer son Apple Watch en or à ...  \n",
       "2     RT @androidcentral: Apple's new MacBook cable ...  \n",
       "3     RT @LeHuffPost: Apple Watch Edition: un prix s...  \n",
       "4     ＜CNET Japan＞「Apple Watch」日本でも4月10日より予約開始--4万28...  \n",
       "...                                                 ...  \n",
       "9980  RT @wylsacom: Все про батарею Apple Watch:\\nht...  \n",
       "9981  MT: Was totally gonna buy an Apple WATCH Editi...  \n",
       "9982  Apple has installed a permanent undeletable Ap...  \n",
       "9983  RT @AppStore: The Watch is coming. 4.24.15.  h...  \n",
       "9984  Apple может продать 15,4 млн часов Apple Watch...  \n",
       "\n",
       "[9985 rows x 2 columns]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[[\"urls\", \"text\"]]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "All `DataFrame`s are indexed. If an index is not explictly provided Pandas will asign one, givinh each row a consecutive number. `Series` and slices keep these indices, which makes possible further operations such as merging or columns manipulation.\n",
    "\n",
    "`DataFrames` are designed to operate at the column level, not the row level. However, a subset of rows can be visualized easily using a slice like in any Python list."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>contributors</th>\n",
       "      <th>created_at</th>\n",
       "      <th>favorite_count</th>\n",
       "      <th>favorited</th>\n",
       "      <th>filter_level</th>\n",
       "      <th>id</th>\n",
       "      <th>id_str</th>\n",
       "      <th>in_reply_to_screen_name</th>\n",
       "      <th>in_reply_to_status_id</th>\n",
       "      <th>in_reply_to_status_id_str</th>\n",
       "      <th>...</th>\n",
       "      <th>hashtags</th>\n",
       "      <th>media</th>\n",
       "      <th>symbols</th>\n",
       "      <th>trends</th>\n",
       "      <th>urls</th>\n",
       "      <th>user_mentions</th>\n",
       "      <th>lat</th>\n",
       "      <th>lon</th>\n",
       "      <th>country</th>\n",
       "      <th>conuntry_code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:34:17.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575046974627389440</td>\n",
       "      <td>5.750470e+17</td>\n",
       "      <td>mimseitef</td>\n",
       "      <td>5.750461e+17</td>\n",
       "      <td>5.750461e+17</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>mimseitef,AhMaDeWiS</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:22:43.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575044064896282624</td>\n",
       "      <td>5.750441e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://ift.tt/1Gz2nk9</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:33:11.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575046700022136832</td>\n",
       "      <td>5.750467e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://engt.co/1CWTTlO</td>\n",
       "      <td>engadget</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:04:08.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575039387488030720</td>\n",
       "      <td>5.750394e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://twitter.com/oneVerge/status/57503938748...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://www.theverge.com/2015/3/9/8176305/apple...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:02:39.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575039012982800384</td>\n",
       "      <td>5.750390e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 37 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    contributors               created_at  favorite_count  favorited  \\\n",
       "10           NaN  2015-03-09 21:34:17.000             0.0        0.0   \n",
       "11           NaN  2015-03-09 21:22:43.000             0.0        0.0   \n",
       "12           NaN  2015-03-09 21:33:11.000             0.0        0.0   \n",
       "13           NaN  2015-03-09 21:04:08.000             0.0        0.0   \n",
       "14           NaN  2015-03-09 21:02:39.000             0.0        0.0   \n",
       "\n",
       "   filter_level                  id        id_str in_reply_to_screen_name  \\\n",
       "10          low  575046974627389440  5.750470e+17               mimseitef   \n",
       "11          low  575044064896282624  5.750441e+17                     NaN   \n",
       "12          low  575046700022136832  5.750467e+17                     NaN   \n",
       "13          low  575039387488030720  5.750394e+17                     NaN   \n",
       "14          low  575039012982800384  5.750390e+17                     NaN   \n",
       "\n",
       "    in_reply_to_status_id  in_reply_to_status_id_str      ...       hashtags  \\\n",
       "10           5.750461e+17               5.750461e+17      ...            NaN   \n",
       "11                    NaN                        NaN      ...            NaN   \n",
       "12                    NaN                        NaN      ...            NaN   \n",
       "13                    NaN                        NaN      ...            NaN   \n",
       "14                    NaN                        NaN      ...            NaN   \n",
       "\n",
       "                                                media symbols  trends  \\\n",
       "10                                                NaN     NaN     NaN   \n",
       "11                                                NaN     NaN     NaN   \n",
       "12                                                NaN     NaN     NaN   \n",
       "13  http://twitter.com/oneVerge/status/57503938748...     NaN     NaN   \n",
       "14                                                NaN     NaN     NaN   \n",
       "\n",
       "                                                 urls        user_mentions  \\\n",
       "10                                                NaN  mimseitef,AhMaDeWiS   \n",
       "11                              http://ift.tt/1Gz2nk9                  NaN   \n",
       "12                             http://engt.co/1CWTTlO             engadget   \n",
       "13  http://www.theverge.com/2015/3/9/8176305/apple...                  NaN   \n",
       "14                                                NaN                  NaN   \n",
       "\n",
       "    lat  lon country conuntry_code  \n",
       "10  NaN  NaN     NaN           NaN  \n",
       "11  NaN  NaN     NaN           NaN  \n",
       "12  NaN  NaN     NaN           NaN  \n",
       "13  NaN  NaN     NaN           NaN  \n",
       "14  NaN  NaN     NaN           NaN  \n",
       "\n",
       "[5 rows x 37 columns]"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[10:15]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10                                                  NaN\n",
       "11                                http://ift.tt/1Gz2nk9\n",
       "12                               http://engt.co/1CWTTlO\n",
       "13    http://www.theverge.com/2015/3/9/8176305/apple...\n",
       "14                                                  NaN\n",
       "Name: urls, dtype: object"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.urls[10:15]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>urls</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>http://ift.tt/1Gz2nk9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>http://engt.co/1CWTTlO</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>http://www.theverge.com/2015/3/9/8176305/apple...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                 urls\n",
       "10                                                NaN\n",
       "11                              http://ift.tt/1Gz2nk9\n",
       "12                             http://engt.co/1CWTTlO\n",
       "13  http://www.theverge.com/2015/3/9/8176305/apple...\n",
       "14                                                NaN"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[[\"urls\"]][10:15]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And you can even access individual rows and mix index and rows."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>urls</th>\n",
       "      <th>text</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>http://phon.es/yljt</td>\n",
       "      <td>RT @androidcentral: Apple's new MacBook cable ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>http://huff.to/1KMYiMd</td>\n",
       "      <td>RT @LeHuffPost: Apple Watch Edition: un prix s...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>http://japan.cnet.com/sp/apple_watch/35061515/...</td>\n",
       "      <td>＜CNET Japan＞「Apple Watch」日本でも4月10日より予約開始--4万28...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>http://goo.gl/46E4Ol</td>\n",
       "      <td>LintasME: Akhirnya, Apple Watch Resmi Diperken...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                urls  \\\n",
       "2                                http://phon.es/yljt   \n",
       "3                             http://huff.to/1KMYiMd   \n",
       "4  http://japan.cnet.com/sp/apple_watch/35061515/...   \n",
       "5                               http://goo.gl/46E4Ol   \n",
       "\n",
       "                                                text  \n",
       "2  RT @androidcentral: Apple's new MacBook cable ...  \n",
       "3  RT @LeHuffPost: Apple Watch Edition: un prix s...  \n",
       "4  ＜CNET Japan＞「Apple Watch」日本でも4月10日より予約開始--4万28...  \n",
       "5  LintasME: Akhirnya, Apple Watch Resmi Diperken...  "
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[[\"urls\", \"text\"]].loc[2:5]  # for non numeric indices"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>urls</th>\n",
       "      <th>text</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>http://phon.es/yljt</td>\n",
       "      <td>RT @androidcentral: Apple's new MacBook cable ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>http://huff.to/1KMYiMd</td>\n",
       "      <td>RT @LeHuffPost: Apple Watch Edition: un prix s...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>http://japan.cnet.com/sp/apple_watch/35061515/...</td>\n",
       "      <td>＜CNET Japan＞「Apple Watch」日本でも4月10日より予約開始--4万28...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                urls  \\\n",
       "2                                http://phon.es/yljt   \n",
       "3                             http://huff.to/1KMYiMd   \n",
       "4  http://japan.cnet.com/sp/apple_watch/35061515/...   \n",
       "\n",
       "                                                text  \n",
       "2  RT @androidcentral: Apple's new MacBook cable ...  \n",
       "3  RT @LeHuffPost: Apple Watch Edition: un prix s...  \n",
       "4  ＜CNET Japan＞「Apple Watch」日本でも4月10日より予約開始--4万28...  "
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[[\"urls\", \"text\"]].iloc[2:5]  # for nummeric indices"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>urls</th>\n",
       "      <th>text</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>http://phon.es/yljt</td>\n",
       "      <td>RT @androidcentral: Apple's new MacBook cable ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>http://huff.to/1KMYiMd</td>\n",
       "      <td>RT @LeHuffPost: Apple Watch Edition: un prix s...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>http://japan.cnet.com/sp/apple_watch/35061515/...</td>\n",
       "      <td>＜CNET Japan＞「Apple Watch」日本でも4月10日より予約開始--4万28...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>http://goo.gl/46E4Ol</td>\n",
       "      <td>LintasME: Akhirnya, Apple Watch Resmi Diperken...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                urls  \\\n",
       "2                                http://phon.es/yljt   \n",
       "3                             http://huff.to/1KMYiMd   \n",
       "4  http://japan.cnet.com/sp/apple_watch/35061515/...   \n",
       "5                               http://goo.gl/46E4Ol   \n",
       "\n",
       "                                                text  \n",
       "2  RT @androidcentral: Apple's new MacBook cable ...  \n",
       "3  RT @LeHuffPost: Apple Watch Edition: un prix s...  \n",
       "4  ＜CNET Japan＞「Apple Watch」日本でも4月10日より予約開始--4万28...  \n",
       "5  LintasME: Akhirnya, Apple Watch Resmi Diperken...  "
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.ix[2:5, [\"urls\", \"text\"]]  # for mixed indices and columns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div style=\"font-size: 1em; margin: 1em 0 1em 0; border: 1px solid #86989B; background-color: #f7f7f7; padding: 0;\">\n",
    "<p style=\"margin: 0; padding: 0.1em 0 0.1em 0.5em; color: white; border-bottom: 1px solid #86989B; font-weight: bold; background-color: #AFC1C4;\">\n",
    "Activity\n",
    "</p>\n",
    "<p style=\"margin: 0.5em 1em 0.5em 1em; padding: 0;\">\n",
    "Given the `DataFrame` defined above, write an expression to extract a `DataFrame` with the columns `text`, `user_screen_name`, `user_name`, `user_lang`, and `hashtags`. Show only the first 5 rows of it.\n",
    "<br/>\n",
    "<!-- * **Hint**: You could ...* -->\n",
    "</p>\n",
    "</div>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>text</th>\n",
       "      <th>user_screen_name</th>\n",
       "      <th>user_name</th>\n",
       "      <th>user_lang</th>\n",
       "      <th>hashtags</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>'Gold On My MacBook' is the perfect rap song f...</td>\n",
       "      <td>pepemvalle</td>\n",
       "      <td>Jose Valle</td>\n",
       "      <td>es</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>RT @MisterC00l: Noyer son Apple Watch en or à ...</td>\n",
       "      <td>Karma_eb155</td>\n",
       "      <td>Karma155</td>\n",
       "      <td>fr</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>RT @androidcentral: Apple's new MacBook cable ...</td>\n",
       "      <td>IkerFuentes97</td>\n",
       "      <td>JackÜ</td>\n",
       "      <td>en</td>\n",
       "      <td>android</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>RT @LeHuffPost: Apple Watch Edition: un prix s...</td>\n",
       "      <td>TranNathalie</td>\n",
       "      <td>Tran Nathalie</td>\n",
       "      <td>fr</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>＜CNET Japan＞「Apple Watch」日本でも4月10日より予約開始--4万28...</td>\n",
       "      <td>x1aw4w8i</td>\n",
       "      <td>キャッハー</td>\n",
       "      <td>ja</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                text user_screen_name  \\\n",
       "0  'Gold On My MacBook' is the perfect rap song f...       pepemvalle   \n",
       "1  RT @MisterC00l: Noyer son Apple Watch en or à ...      Karma_eb155   \n",
       "2  RT @androidcentral: Apple's new MacBook cable ...    IkerFuentes97   \n",
       "3  RT @LeHuffPost: Apple Watch Edition: un prix s...     TranNathalie   \n",
       "4  ＜CNET Japan＞「Apple Watch」日本でも4月10日より予約開始--4万28...         x1aw4w8i   \n",
       "\n",
       "       user_name user_lang hashtags  \n",
       "0     Jose Valle        es      NaN  \n",
       "1       Karma155        fr      NaN  \n",
       "2         JackÜ         en  android  \n",
       "3  Tran Nathalie        fr      NaN  \n",
       "4          キャッハー        ja      NaN  "
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Write here your solution\n",
    "df[[\"text\", \"user_screen_name\", \"user_name\", \"user_lang\", \"hashtags\"]][:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Indexing and Expressions"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Operations performed using a column or `Series` are broadcast to each of the elements contained."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0       1150077207774502912\n",
       "1       1150080768965181440\n",
       "2       1150087663050293248\n",
       "3       1150090546768527360\n",
       "4       1150077393976262656\n",
       "               ...         \n",
       "9980    1150087464945057792\n",
       "9981    1150093036188401664\n",
       "9982    1150090780676513792\n",
       "9983    1150090549117157376\n",
       "9984    1150091959519199232\n",
       "Name: id, dtype: int64"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"id\"] * 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0       @Jose Valle: 'Gold On My MacBook' is the perfe...\n",
       "1       @Karma155: RT @MisterC00l: Noyer son Apple Wat...\n",
       "2       @JackÜ : RT @androidcentral: Apple's new MacBo...\n",
       "3       @Tran Nathalie: RT @LeHuffPost: Apple Watch Ed...\n",
       "4       @キャッハー: ＜CNET Japan＞「Apple Watch」日本でも4月10日より予約...\n",
       "                              ...                        \n",
       "9980    @Jong Yong: RT @wylsacom: Все про батарею Appl...\n",
       "9981    @Serge Rubinstein: MT: Was totally gonna buy a...\n",
       "9982    @BI Tech: Apple has installed a permanent unde...\n",
       "9983    @Eric Moore: RT @AppStore: The Watch is coming...\n",
       "9984    @Мария Миронова: Apple может продать 15,4 млн ...\n",
       "dtype: object"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\"@\" + df[\"user_name\"] + \": \" + df[\"text\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0       True\n",
       "1       True\n",
       "2       True\n",
       "3       True\n",
       "4       True\n",
       "        ... \n",
       "9980    True\n",
       "9981    True\n",
       "9982    True\n",
       "9983    True\n",
       "9984    True\n",
       "Name: id, dtype: bool"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"id\"] > 0"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Which allows for a more advanced and useful indexing as you can pass in an expression to a `DataFrame` to select content."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>contributors</th>\n",
       "      <th>created_at</th>\n",
       "      <th>favorite_count</th>\n",
       "      <th>favorited</th>\n",
       "      <th>filter_level</th>\n",
       "      <th>id</th>\n",
       "      <th>id_str</th>\n",
       "      <th>in_reply_to_screen_name</th>\n",
       "      <th>in_reply_to_status_id</th>\n",
       "      <th>in_reply_to_status_id_str</th>\n",
       "      <th>...</th>\n",
       "      <th>hashtags</th>\n",
       "      <th>media</th>\n",
       "      <th>symbols</th>\n",
       "      <th>trends</th>\n",
       "      <th>urls</th>\n",
       "      <th>user_mentions</th>\n",
       "      <th>lat</th>\n",
       "      <th>lon</th>\n",
       "      <th>country</th>\n",
       "      <th>conuntry_code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:21:47.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575043831525146624</td>\n",
       "      <td>5.750438e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>android</td>\n",
       "      <td>http://twitter.com/androidcentral/status/57502...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://phon.es/yljt</td>\n",
       "      <td>androidcentral</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:27:31.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045273384263680</td>\n",
       "      <td>5.750453e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://huff.to/1KMYiMd</td>\n",
       "      <td>LeHuffPost</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:31:17.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575046219401011200</td>\n",
       "      <td>5.750462e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://goo.gl/46E4Ol</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:22:35.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575044031345860608</td>\n",
       "      <td>5.750440e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://erict.co/1CWSf3v</td>\n",
       "      <td>ClickZ</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:32:35.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575046549794766848</td>\n",
       "      <td>5.750465e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9975</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:26:00.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575044891153031168</td>\n",
       "      <td>5.750449e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://on.mktw.net/1HoA3P2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9981</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:32:28.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575046518094200832</td>\n",
       "      <td>5.750465e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9982</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:27:59.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045390338256896</td>\n",
       "      <td>5.750454e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://twitter.com/SAI/status/5750453903382568...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://read.bi/1AXKvrd</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9983</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:27:31.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045274558578688</td>\n",
       "      <td>5.750453e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://apple.com/watch,https://amp.twimg.com/v...</td>\n",
       "      <td>AppStore</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9984</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:30:20.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045979759599616</td>\n",
       "      <td>5.750460e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5205 rows × 37 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      contributors               created_at  favorite_count  favorited  \\\n",
       "2              NaN  2015-03-09 21:21:47.000             0.0        0.0   \n",
       "3              NaN  2015-03-09 21:27:31.000             0.0        0.0   \n",
       "5              NaN  2015-03-09 21:31:17.000             0.0        0.0   \n",
       "6              NaN  2015-03-09 21:22:35.000             0.0        0.0   \n",
       "7              NaN  2015-03-09 21:32:35.000             0.0        0.0   \n",
       "...            ...                      ...             ...        ...   \n",
       "9975           NaN  2015-03-09 21:26:00.000             0.0        0.0   \n",
       "9981           NaN  2015-03-09 21:32:28.000             0.0        0.0   \n",
       "9982           NaN  2015-03-09 21:27:59.000             0.0        0.0   \n",
       "9983           NaN  2015-03-09 21:27:31.000             0.0        0.0   \n",
       "9984           NaN  2015-03-09 21:30:20.000             0.0        0.0   \n",
       "\n",
       "     filter_level                  id        id_str in_reply_to_screen_name  \\\n",
       "2             low  575043831525146624  5.750438e+17                     NaN   \n",
       "3             low  575045273384263680  5.750453e+17                     NaN   \n",
       "5             low  575046219401011200  5.750462e+17                     NaN   \n",
       "6             low  575044031345860608  5.750440e+17                     NaN   \n",
       "7             low  575046549794766848  5.750465e+17                     NaN   \n",
       "...           ...                 ...           ...                     ...   \n",
       "9975          low  575044891153031168  5.750449e+17                     NaN   \n",
       "9981          low  575046518094200832  5.750465e+17                     NaN   \n",
       "9982          low  575045390338256896  5.750454e+17                     NaN   \n",
       "9983          low  575045274558578688  5.750453e+17                     NaN   \n",
       "9984          low  575045979759599616  5.750460e+17                     NaN   \n",
       "\n",
       "      in_reply_to_status_id  in_reply_to_status_id_str      ...       \\\n",
       "2                       NaN                        NaN      ...        \n",
       "3                       NaN                        NaN      ...        \n",
       "5                       NaN                        NaN      ...        \n",
       "6                       NaN                        NaN      ...        \n",
       "7                       NaN                        NaN      ...        \n",
       "...                     ...                        ...      ...        \n",
       "9975                    NaN                        NaN      ...        \n",
       "9981                    NaN                        NaN      ...        \n",
       "9982                    NaN                        NaN      ...        \n",
       "9983                    NaN                        NaN      ...        \n",
       "9984                    NaN                        NaN      ...        \n",
       "\n",
       "      hashtags                                              media symbols  \\\n",
       "2      android  http://twitter.com/androidcentral/status/57502...     NaN   \n",
       "3          NaN                                                NaN     NaN   \n",
       "5          NaN                                                NaN     NaN   \n",
       "6          NaN                                                NaN     NaN   \n",
       "7          NaN                                                NaN     NaN   \n",
       "...        ...                                                ...     ...   \n",
       "9975       NaN                                                NaN     NaN   \n",
       "9981       NaN                                                NaN     NaN   \n",
       "9982       NaN  http://twitter.com/SAI/status/5750453903382568...     NaN   \n",
       "9983       NaN                                                NaN     NaN   \n",
       "9984       NaN                                                NaN     NaN   \n",
       "\n",
       "      trends                                               urls  \\\n",
       "2        NaN                                http://phon.es/yljt   \n",
       "3        NaN                             http://huff.to/1KMYiMd   \n",
       "5        NaN                               http://goo.gl/46E4Ol   \n",
       "6        NaN                            http://erict.co/1CWSf3v   \n",
       "7        NaN                                                NaN   \n",
       "...      ...                                                ...   \n",
       "9975     NaN                         http://on.mktw.net/1HoA3P2   \n",
       "9981     NaN                                                NaN   \n",
       "9982     NaN                             http://read.bi/1AXKvrd   \n",
       "9983     NaN  http://apple.com/watch,https://amp.twimg.com/v...   \n",
       "9984     NaN                                                NaN   \n",
       "\n",
       "       user_mentions  lat  lon country conuntry_code  \n",
       "2     androidcentral  NaN  NaN     NaN           NaN  \n",
       "3         LeHuffPost  NaN  NaN     NaN           NaN  \n",
       "5                NaN  NaN  NaN     NaN           NaN  \n",
       "6             ClickZ  NaN  NaN     NaN           NaN  \n",
       "7                NaN  NaN  NaN     NaN           NaN  \n",
       "...              ...  ...  ...     ...           ...  \n",
       "9975             NaN  NaN  NaN     NaN           NaN  \n",
       "9981             NaN  NaN  NaN     NaN           NaN  \n",
       "9982             NaN  NaN  NaN     NaN           NaN  \n",
       "9983        AppStore  NaN  NaN     NaN           NaN  \n",
       "9984             NaN  NaN  NaN     NaN           NaN  \n",
       "\n",
       "[5205 rows x 37 columns]"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[df[\"id\"] > 575043732472528896]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Basically any expression that evaluates to a `Series` of `True` and `False` values and share the index can be used. And conditions can be put together using logical operators for \"and\", `&`, \"or\", `|`, and \"not\", `~`, making the filter more precise and expressive."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>contributors</th>\n",
       "      <th>created_at</th>\n",
       "      <th>favorite_count</th>\n",
       "      <th>favorited</th>\n",
       "      <th>filter_level</th>\n",
       "      <th>id</th>\n",
       "      <th>id_str</th>\n",
       "      <th>in_reply_to_screen_name</th>\n",
       "      <th>in_reply_to_status_id</th>\n",
       "      <th>in_reply_to_status_id_str</th>\n",
       "      <th>...</th>\n",
       "      <th>hashtags</th>\n",
       "      <th>media</th>\n",
       "      <th>symbols</th>\n",
       "      <th>trends</th>\n",
       "      <th>urls</th>\n",
       "      <th>user_mentions</th>\n",
       "      <th>lat</th>\n",
       "      <th>lon</th>\n",
       "      <th>country</th>\n",
       "      <th>conuntry_code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:21:47.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575043831525146624</td>\n",
       "      <td>5.750438e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>android</td>\n",
       "      <td>http://twitter.com/androidcentral/status/57502...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://phon.es/yljt</td>\n",
       "      <td>androidcentral</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:27:31.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045273384263680</td>\n",
       "      <td>5.750453e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://huff.to/1KMYiMd</td>\n",
       "      <td>LeHuffPost</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:31:17.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575046219401011200</td>\n",
       "      <td>5.750462e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://goo.gl/46E4Ol</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:22:35.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575044031345860608</td>\n",
       "      <td>5.750440e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://erict.co/1CWSf3v</td>\n",
       "      <td>ClickZ</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:32:35.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575046549794766848</td>\n",
       "      <td>5.750465e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9975</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:26:00.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575044891153031168</td>\n",
       "      <td>5.750449e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://on.mktw.net/1HoA3P2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9981</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:32:28.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575046518094200832</td>\n",
       "      <td>5.750465e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9982</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:27:59.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045390338256896</td>\n",
       "      <td>5.750454e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://twitter.com/SAI/status/5750453903382568...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://read.bi/1AXKvrd</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9983</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:27:31.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045274558578688</td>\n",
       "      <td>5.750453e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://apple.com/watch,https://amp.twimg.com/v...</td>\n",
       "      <td>AppStore</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9984</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:30:20.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045979759599616</td>\n",
       "      <td>5.750460e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5205 rows × 37 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      contributors               created_at  favorite_count  favorited  \\\n",
       "2              NaN  2015-03-09 21:21:47.000             0.0        0.0   \n",
       "3              NaN  2015-03-09 21:27:31.000             0.0        0.0   \n",
       "5              NaN  2015-03-09 21:31:17.000             0.0        0.0   \n",
       "6              NaN  2015-03-09 21:22:35.000             0.0        0.0   \n",
       "7              NaN  2015-03-09 21:32:35.000             0.0        0.0   \n",
       "...            ...                      ...             ...        ...   \n",
       "9975           NaN  2015-03-09 21:26:00.000             0.0        0.0   \n",
       "9981           NaN  2015-03-09 21:32:28.000             0.0        0.0   \n",
       "9982           NaN  2015-03-09 21:27:59.000             0.0        0.0   \n",
       "9983           NaN  2015-03-09 21:27:31.000             0.0        0.0   \n",
       "9984           NaN  2015-03-09 21:30:20.000             0.0        0.0   \n",
       "\n",
       "     filter_level                  id        id_str in_reply_to_screen_name  \\\n",
       "2             low  575043831525146624  5.750438e+17                     NaN   \n",
       "3             low  575045273384263680  5.750453e+17                     NaN   \n",
       "5             low  575046219401011200  5.750462e+17                     NaN   \n",
       "6             low  575044031345860608  5.750440e+17                     NaN   \n",
       "7             low  575046549794766848  5.750465e+17                     NaN   \n",
       "...           ...                 ...           ...                     ...   \n",
       "9975          low  575044891153031168  5.750449e+17                     NaN   \n",
       "9981          low  575046518094200832  5.750465e+17                     NaN   \n",
       "9982          low  575045390338256896  5.750454e+17                     NaN   \n",
       "9983          low  575045274558578688  5.750453e+17                     NaN   \n",
       "9984          low  575045979759599616  5.750460e+17                     NaN   \n",
       "\n",
       "      in_reply_to_status_id  in_reply_to_status_id_str      ...       \\\n",
       "2                       NaN                        NaN      ...        \n",
       "3                       NaN                        NaN      ...        \n",
       "5                       NaN                        NaN      ...        \n",
       "6                       NaN                        NaN      ...        \n",
       "7                       NaN                        NaN      ...        \n",
       "...                     ...                        ...      ...        \n",
       "9975                    NaN                        NaN      ...        \n",
       "9981                    NaN                        NaN      ...        \n",
       "9982                    NaN                        NaN      ...        \n",
       "9983                    NaN                        NaN      ...        \n",
       "9984                    NaN                        NaN      ...        \n",
       "\n",
       "      hashtags                                              media symbols  \\\n",
       "2      android  http://twitter.com/androidcentral/status/57502...     NaN   \n",
       "3          NaN                                                NaN     NaN   \n",
       "5          NaN                                                NaN     NaN   \n",
       "6          NaN                                                NaN     NaN   \n",
       "7          NaN                                                NaN     NaN   \n",
       "...        ...                                                ...     ...   \n",
       "9975       NaN                                                NaN     NaN   \n",
       "9981       NaN                                                NaN     NaN   \n",
       "9982       NaN  http://twitter.com/SAI/status/5750453903382568...     NaN   \n",
       "9983       NaN                                                NaN     NaN   \n",
       "9984       NaN                                                NaN     NaN   \n",
       "\n",
       "      trends                                               urls  \\\n",
       "2        NaN                                http://phon.es/yljt   \n",
       "3        NaN                             http://huff.to/1KMYiMd   \n",
       "5        NaN                               http://goo.gl/46E4Ol   \n",
       "6        NaN                            http://erict.co/1CWSf3v   \n",
       "7        NaN                                                NaN   \n",
       "...      ...                                                ...   \n",
       "9975     NaN                         http://on.mktw.net/1HoA3P2   \n",
       "9981     NaN                                                NaN   \n",
       "9982     NaN                             http://read.bi/1AXKvrd   \n",
       "9983     NaN  http://apple.com/watch,https://amp.twimg.com/v...   \n",
       "9984     NaN                                                NaN   \n",
       "\n",
       "       user_mentions  lat  lon country conuntry_code  \n",
       "2     androidcentral  NaN  NaN     NaN           NaN  \n",
       "3         LeHuffPost  NaN  NaN     NaN           NaN  \n",
       "5                NaN  NaN  NaN     NaN           NaN  \n",
       "6             ClickZ  NaN  NaN     NaN           NaN  \n",
       "7                NaN  NaN  NaN     NaN           NaN  \n",
       "...              ...  ...  ...     ...           ...  \n",
       "9975             NaN  NaN  NaN     NaN           NaN  \n",
       "9981             NaN  NaN  NaN     NaN           NaN  \n",
       "9982             NaN  NaN  NaN     NaN           NaN  \n",
       "9983        AppStore  NaN  NaN     NaN           NaN  \n",
       "9984             NaN  NaN  NaN     NaN           NaN  \n",
       "\n",
       "[5205 rows x 37 columns]"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[(df[\"id\"] > 575043732472528896) & (len(df[\"user_mentions\"]) > 5)]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Some string operations are also available at the column level on the `.str` attribute of `Series`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0                                 [http://ift.tt/1AXDXIR]\n",
       "1                                                     NaN\n",
       "2                                   [http://phon.es/yljt]\n",
       "3                                [http://huff.to/1KMYiMd]\n",
       "4       [http://japan.cnet.com/sp/apple_watch/35061515...\n",
       "                              ...                        \n",
       "9980         [http://www.apple.com/ru/watch/battery.html]\n",
       "9981                                                  NaN\n",
       "9982                             [http://read.bi/1AXKvrd]\n",
       "9983    [http://apple.com/watch,https://amp.twimg.com/...\n",
       "9984                                                  NaN\n",
       "Name: urls, dtype: object"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"urls\"].str.split()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "So the previous selection could also be written as:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>contributors</th>\n",
       "      <th>created_at</th>\n",
       "      <th>favorite_count</th>\n",
       "      <th>favorited</th>\n",
       "      <th>filter_level</th>\n",
       "      <th>id</th>\n",
       "      <th>id_str</th>\n",
       "      <th>in_reply_to_screen_name</th>\n",
       "      <th>in_reply_to_status_id</th>\n",
       "      <th>in_reply_to_status_id_str</th>\n",
       "      <th>...</th>\n",
       "      <th>hashtags</th>\n",
       "      <th>media</th>\n",
       "      <th>symbols</th>\n",
       "      <th>trends</th>\n",
       "      <th>urls</th>\n",
       "      <th>user_mentions</th>\n",
       "      <th>lat</th>\n",
       "      <th>lon</th>\n",
       "      <th>country</th>\n",
       "      <th>conuntry_code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:21:47.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575043831525146624</td>\n",
       "      <td>5.750438e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>android</td>\n",
       "      <td>http://twitter.com/androidcentral/status/57502...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://phon.es/yljt</td>\n",
       "      <td>androidcentral</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:27:31.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045273384263680</td>\n",
       "      <td>5.750453e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://huff.to/1KMYiMd</td>\n",
       "      <td>LeHuffPost</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:22:35.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575044031345860608</td>\n",
       "      <td>5.750440e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://erict.co/1CWSf3v</td>\n",
       "      <td>ClickZ</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:34:17.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575046974627389440</td>\n",
       "      <td>5.750470e+17</td>\n",
       "      <td>mimseitef</td>\n",
       "      <td>5.750461e+17</td>\n",
       "      <td>5.750461e+17</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>mimseitef,AhMaDeWiS</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:33:11.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575046700022136832</td>\n",
       "      <td>5.750467e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://engt.co/1CWTTlO</td>\n",
       "      <td>engadget</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9950</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:30:53.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575046118251229184</td>\n",
       "      <td>5.750461e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Serrels</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9953</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:30:31.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575046027364941824</td>\n",
       "      <td>5.750460e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://apple.com/watch,https://amp.twimg.com/v...</td>\n",
       "      <td>AppStore</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9965</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:28:33.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045531526828032</td>\n",
       "      <td>5.750455e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://twitter.com/mashable/status/57498956262...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://mashable.com/2015/03/08/apple-watch-event/</td>\n",
       "      <td>mashable</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9967</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:22:11.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575043930196156416</td>\n",
       "      <td>5.750439e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://wp.me/p46Pey-2LF</td>\n",
       "      <td>stephcaussin</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9983</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-03-09 21:27:31.000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>low</td>\n",
       "      <td>575045274558578688</td>\n",
       "      <td>5.750453e+17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>http://apple.com/watch,https://amp.twimg.com/v...</td>\n",
       "      <td>AppStore</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1993 rows × 37 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      contributors               created_at  favorite_count  favorited  \\\n",
       "2              NaN  2015-03-09 21:21:47.000             0.0        0.0   \n",
       "3              NaN  2015-03-09 21:27:31.000             0.0        0.0   \n",
       "6              NaN  2015-03-09 21:22:35.000             0.0        0.0   \n",
       "10             NaN  2015-03-09 21:34:17.000             0.0        0.0   \n",
       "12             NaN  2015-03-09 21:33:11.000             0.0        0.0   \n",
       "...            ...                      ...             ...        ...   \n",
       "9950           NaN  2015-03-09 21:30:53.000             0.0        0.0   \n",
       "9953           NaN  2015-03-09 21:30:31.000             0.0        0.0   \n",
       "9965           NaN  2015-03-09 21:28:33.000             0.0        0.0   \n",
       "9967           NaN  2015-03-09 21:22:11.000             0.0        0.0   \n",
       "9983           NaN  2015-03-09 21:27:31.000             0.0        0.0   \n",
       "\n",
       "     filter_level                  id        id_str in_reply_to_screen_name  \\\n",
       "2             low  575043831525146624  5.750438e+17                     NaN   \n",
       "3             low  575045273384263680  5.750453e+17                     NaN   \n",
       "6             low  575044031345860608  5.750440e+17                     NaN   \n",
       "10            low  575046974627389440  5.750470e+17               mimseitef   \n",
       "12            low  575046700022136832  5.750467e+17                     NaN   \n",
       "...           ...                 ...           ...                     ...   \n",
       "9950          low  575046118251229184  5.750461e+17                     NaN   \n",
       "9953          low  575046027364941824  5.750460e+17                     NaN   \n",
       "9965          low  575045531526828032  5.750455e+17                     NaN   \n",
       "9967          low  575043930196156416  5.750439e+17                     NaN   \n",
       "9983          low  575045274558578688  5.750453e+17                     NaN   \n",
       "\n",
       "      in_reply_to_status_id  in_reply_to_status_id_str      ...       \\\n",
       "2                       NaN                        NaN      ...        \n",
       "3                       NaN                        NaN      ...        \n",
       "6                       NaN                        NaN      ...        \n",
       "10             5.750461e+17               5.750461e+17      ...        \n",
       "12                      NaN                        NaN      ...        \n",
       "...                     ...                        ...      ...        \n",
       "9950                    NaN                        NaN      ...        \n",
       "9953                    NaN                        NaN      ...        \n",
       "9965                    NaN                        NaN      ...        \n",
       "9967                    NaN                        NaN      ...        \n",
       "9983                    NaN                        NaN      ...        \n",
       "\n",
       "      hashtags                                              media symbols  \\\n",
       "2      android  http://twitter.com/androidcentral/status/57502...     NaN   \n",
       "3          NaN                                                NaN     NaN   \n",
       "6          NaN                                                NaN     NaN   \n",
       "10         NaN                                                NaN     NaN   \n",
       "12         NaN                                                NaN     NaN   \n",
       "...        ...                                                ...     ...   \n",
       "9950       NaN                                                NaN     NaN   \n",
       "9953       NaN                                                NaN     NaN   \n",
       "9965       NaN  http://twitter.com/mashable/status/57498956262...     NaN   \n",
       "9967       NaN                                                NaN     NaN   \n",
       "9983       NaN                                                NaN     NaN   \n",
       "\n",
       "      trends                                               urls  \\\n",
       "2        NaN                                http://phon.es/yljt   \n",
       "3        NaN                             http://huff.to/1KMYiMd   \n",
       "6        NaN                            http://erict.co/1CWSf3v   \n",
       "10       NaN                                                NaN   \n",
       "12       NaN                             http://engt.co/1CWTTlO   \n",
       "...      ...                                                ...   \n",
       "9950     NaN                                                NaN   \n",
       "9953     NaN  http://apple.com/watch,https://amp.twimg.com/v...   \n",
       "9965     NaN  http://mashable.com/2015/03/08/apple-watch-event/   \n",
       "9967     NaN                            http://wp.me/p46Pey-2LF   \n",
       "9983     NaN  http://apple.com/watch,https://amp.twimg.com/v...   \n",
       "\n",
       "            user_mentions  lat  lon country conuntry_code  \n",
       "2          androidcentral  NaN  NaN     NaN           NaN  \n",
       "3              LeHuffPost  NaN  NaN     NaN           NaN  \n",
       "6                  ClickZ  NaN  NaN     NaN           NaN  \n",
       "10    mimseitef,AhMaDeWiS  NaN  NaN     NaN           NaN  \n",
       "12               engadget  NaN  NaN     NaN           NaN  \n",
       "...                   ...  ...  ...     ...           ...  \n",
       "9950              Serrels  NaN  NaN     NaN           NaN  \n",
       "9953             AppStore  NaN  NaN     NaN           NaN  \n",
       "9965             mashable  NaN  NaN     NaN           NaN  \n",
       "9967         stephcaussin  NaN  NaN     NaN           NaN  \n",
       "9983             AppStore  NaN  NaN     NaN           NaN  \n",
       "\n",
       "[1993 rows x 37 columns]"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[(df[\"id\"] > 575043732472528896) & (df[\"user_mentions\"].str.len() > 5)]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div style=\"font-size: 1em; margin: 1em 0 1em 0; border: 1px solid #86989B; background-color: #f7f7f7; padding: 0;\">\n",
    "<p style=\"margin: 0; padding: 0.1em 0 0.1em 0.5em; color: white; border-bottom: 1px solid #86989B; font-weight: bold; background-color: #AFC1C4;\">\n",
    "Activity\n",
    "</p>\n",
    "<p style=\"margin: 0.5em 1em 0.5em 1em; padding: 0;\">\n",
    "Given the `states` `DataFrame` defined below, write an expression to calculate the population density of each state.\n",
    "<br/>\n",
    "* **Hint**: Population density is defined as the number of people per unit of area.*\n",
    "</p>\n",
    "</div>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>area</th>\n",
       "      <th>population</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>California</th>\n",
       "      <td>423967</td>\n",
       "      <td>38332521</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Florida</th>\n",
       "      <td>170312</td>\n",
       "      <td>19552860</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Illinois</th>\n",
       "      <td>149995</td>\n",
       "      <td>12882135</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>New York</th>\n",
       "      <td>141297</td>\n",
       "      <td>19651127</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Texas</th>\n",
       "      <td>695662</td>\n",
       "      <td>26448193</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              area  population\n",
       "California  423967    38332521\n",
       "Florida     170312    19552860\n",
       "Illinois    149995    12882135\n",
       "New York    141297    19651127\n",
       "Texas       695662    26448193"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "population_dict = {'California': 38332521, 'Texas': 26448193, 'New York': 19651127,\n",
    "                   'Florida': 19552860, 'Illinois': 12882135}\n",
    "area_dict = {'California': 423967, 'Texas': 695662, 'New York': 141297,\n",
    "             'Florida': 170312, 'Illinois': 149995}  # these are in km²\n",
    "states = pd.DataFrame({'population': population_dict, 'area': area_dict})\n",
    "states"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "California     90.413926\n",
       "Florida       114.806121\n",
       "Illinois       85.883763\n",
       "New York      139.076746\n",
       "Texas          38.018740\n",
       "dtype: float64"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Write your code here\n",
    "states.population / states.area"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Manipulation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The fundamental way of manipulating the contents of `DataFrame` columns is by using the `apply()` method, which allows to call a user defined function to each of the elements in the `Series`. Unlike the `.str` attribute, `apply()` is a general way of transforming values."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "'float' object has no attribute 'split'",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-28-4bcd8a32ae9b>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      4\u001b[0m     \u001b[0;32mreturn\u001b[0m \u001b[0mcount\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"urls\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mapply\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcount_links\u001b[0m\u001b[0;34m)\u001b[0m  \u001b[0;31m# urls are separated by comma\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;32m/Users/versae/anaconda/envs/data/lib/python3.5/site-packages/pandas/core/series.py\u001b[0m in \u001b[0;36mapply\u001b[0;34m(self, func, convert_dtype, args, **kwds)\u001b[0m\n\u001b[1;32m   2292\u001b[0m             \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2293\u001b[0m                 \u001b[0mvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0masobject\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2294\u001b[0;31m                 \u001b[0mmapped\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmap_infer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconvert\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mconvert_dtype\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   2295\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2296\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmapped\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmapped\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mSeries\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32mpandas/src/inference.pyx\u001b[0m in \u001b[0;36mpandas.lib.map_infer (pandas/lib.c:66124)\u001b[0;34m()\u001b[0m\n",
      "\u001b[0;32m<ipython-input-28-4bcd8a32ae9b>\u001b[0m in \u001b[0;36mcount_links\u001b[0;34m(text)\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mcount_links\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtext\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m     \u001b[0mlinks\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtext\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msplit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\",\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      3\u001b[0m     \u001b[0mcount\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlinks\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      4\u001b[0m     \u001b[0;32mreturn\u001b[0m \u001b[0mcount\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mAttributeError\u001b[0m: 'float' object has no attribute 'split'"
     ]
    }
   ],
   "source": [
    "def count_links(text):\n",
    "    links = text.split(\",\")\n",
    "    count = len(links)\n",
    "    return count\n",
    "\n",
    "df[\"urls\"].apply(count_links)  # urls are separated by comma"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "However our naive `count_links` function does not know how to handle missing data. We could ignore those values by dropping the `NaN`, which is the Pandas way of saying missing data, or by cleaning our dataset on import time."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0       1\n",
       "2       1\n",
       "3       1\n",
       "4       1\n",
       "5       1\n",
       "       ..\n",
       "9976    1\n",
       "9978    1\n",
       "9980    1\n",
       "9982    1\n",
       "9983    2\n",
       "Name: urls, dtype: int64"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"urls\"].dropna().apply(count_links)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Cleaning the data at the beginning, at import time, and for the whole `DataFrame` is usually a good idea, since makes operating with it more consistent and lesss prone to error.\n",
    "\n",
    "This also avoids us the hassle to drop `NaN`'s everytime. In our case we will:\n",
    "- Filter out some columns we are not interested in\n",
    "- Specify and index for thr `DataFrame`\n",
    "- Provide data types for some columns\n",
    "- Parse dates as Python `datetime` for columns containing dates as strings\n",
    "- Replace `NaN` values by empty strings in string columns\n",
    "\n",
    "And then show the first 5, this time using the `head()` method."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>lang</th>\n",
       "      <th>place</th>\n",
       "      <th>possibly_sensitive</th>\n",
       "      <th>text</th>\n",
       "      <th>user_screen_name</th>\n",
       "      <th>hashtags</th>\n",
       "      <th>media</th>\n",
       "      <th>symbols</th>\n",
       "      <th>urls</th>\n",
       "      <th>country</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:01:01</th>\n",
       "      <td>575038603887251456</td>\n",
       "      <td>en</td>\n",
       "      <td></td>\n",
       "      <td>False</td>\n",
       "      <td>'Gold On My MacBook' is the perfect rap song f...</td>\n",
       "      <td>pepemvalle</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td>http://ift.tt/1AXDXIR</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:08:06</th>\n",
       "      <td>575040384482590720</td>\n",
       "      <td>fr</td>\n",
       "      <td></td>\n",
       "      <td>False</td>\n",
       "      <td>RT @MisterC00l: Noyer son Apple Watch en or à ...</td>\n",
       "      <td>Karma_eb155</td>\n",
       "      <td></td>\n",
       "      <td>http://twitter.com/MisterC00l/status/575013358...</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:21:47</th>\n",
       "      <td>575043831525146624</td>\n",
       "      <td>en</td>\n",
       "      <td></td>\n",
       "      <td>False</td>\n",
       "      <td>RT @androidcentral: Apple's new MacBook cable ...</td>\n",
       "      <td>IkerFuentes97</td>\n",
       "      <td>android</td>\n",
       "      <td>http://twitter.com/androidcentral/status/57502...</td>\n",
       "      <td></td>\n",
       "      <td>http://phon.es/yljt</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:27:31</th>\n",
       "      <td>575045273384263680</td>\n",
       "      <td>fr</td>\n",
       "      <td></td>\n",
       "      <td>False</td>\n",
       "      <td>RT @LeHuffPost: Apple Watch Edition: un prix s...</td>\n",
       "      <td>TranNathalie</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td>http://huff.to/1KMYiMd</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:01:23</th>\n",
       "      <td>575038696988131328</td>\n",
       "      <td>ja</td>\n",
       "      <td></td>\n",
       "      <td>False</td>\n",
       "      <td>＜CNET Japan＞「Apple Watch」日本でも4月10日より予約開始--4万28...</td>\n",
       "      <td>x1aw4w8i</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td>http://japan.cnet.com/sp/apple_watch/35061515/...</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                     id lang place possibly_sensitive  \\\n",
       "created_at                                                              \n",
       "2015-03-09 21:01:01  575038603887251456   en                    False   \n",
       "2015-03-09 21:08:06  575040384482590720   fr                    False   \n",
       "2015-03-09 21:21:47  575043831525146624   en                    False   \n",
       "2015-03-09 21:27:31  575045273384263680   fr                    False   \n",
       "2015-03-09 21:01:23  575038696988131328   ja                    False   \n",
       "\n",
       "                                                                  text  \\\n",
       "created_at                                                               \n",
       "2015-03-09 21:01:01  'Gold On My MacBook' is the perfect rap song f...   \n",
       "2015-03-09 21:08:06  RT @MisterC00l: Noyer son Apple Watch en or à ...   \n",
       "2015-03-09 21:21:47  RT @androidcentral: Apple's new MacBook cable ...   \n",
       "2015-03-09 21:27:31  RT @LeHuffPost: Apple Watch Edition: un prix s...   \n",
       "2015-03-09 21:01:23  ＜CNET Japan＞「Apple Watch」日本でも4月10日より予約開始--4万28...   \n",
       "\n",
       "                    user_screen_name hashtags  \\\n",
       "created_at                                      \n",
       "2015-03-09 21:01:01       pepemvalle            \n",
       "2015-03-09 21:08:06      Karma_eb155            \n",
       "2015-03-09 21:21:47    IkerFuentes97  android   \n",
       "2015-03-09 21:27:31     TranNathalie            \n",
       "2015-03-09 21:01:23         x1aw4w8i            \n",
       "\n",
       "                                                                 media  \\\n",
       "created_at                                                               \n",
       "2015-03-09 21:01:01                                                      \n",
       "2015-03-09 21:08:06  http://twitter.com/MisterC00l/status/575013358...   \n",
       "2015-03-09 21:21:47  http://twitter.com/androidcentral/status/57502...   \n",
       "2015-03-09 21:27:31                                                      \n",
       "2015-03-09 21:01:23                                                      \n",
       "\n",
       "                    symbols  \\\n",
       "created_at                    \n",
       "2015-03-09 21:01:01           \n",
       "2015-03-09 21:08:06           \n",
       "2015-03-09 21:21:47           \n",
       "2015-03-09 21:27:31           \n",
       "2015-03-09 21:01:23           \n",
       "\n",
       "                                                                  urls country  \n",
       "created_at                                                                      \n",
       "2015-03-09 21:01:01                              http://ift.tt/1AXDXIR          \n",
       "2015-03-09 21:08:06                                                             \n",
       "2015-03-09 21:21:47                                http://phon.es/yljt          \n",
       "2015-03-09 21:27:31                             http://huff.to/1KMYiMd          \n",
       "2015-03-09 21:01:23  http://japan.cnet.com/sp/apple_watch/35061515/...          "
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "columns = [\n",
    "    \"created_at\", \"id\",\n",
    "    \"text\", \"lang\", \"possibly_sensitive\", \"user_screen_name\",\n",
    "    \"hashtags\", \"media\", \"symbols\", \"urls\",\n",
    "    \"place\", \"country\"]  # columns we want\n",
    "index_column = \"created_at\"\n",
    "column_types = {\n",
    "    \"id\": int,\n",
    "    \"possibly_sensitive\": bool,\n",
    "    \"lat\": float,\n",
    "    \"lon\": float,\n",
    "}\n",
    "fill_nans = {\n",
    "    'country': '',\n",
    "    'hashtags': '',\n",
    "    'lang': '',\n",
    "    'media': '',\n",
    "    'place': '',\n",
    "    'symbols': '',\n",
    "    'text': '',\n",
    "    'urls': '',\n",
    "    'user_lang': '',\n",
    "    'user_location': '',\n",
    "    'user_name': '',\n",
    "    'user_screen_name': ''\n",
    "}\n",
    "date_columns = [\"created_at\"]\n",
    "df = pd.read_csv(\"twitter.csv\",\n",
    "    parse_dates=date_columns,\n",
    "    index_col=index_column,\n",
    "    usecols=columns,\n",
    "    dtype=column_types).fillna(value=fill_nans)\n",
    "df.head(5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now, our `count_links` should work just fine."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "created_at\n",
       "2015-03-09 21:01:01    1\n",
       "2015-03-09 21:08:06    1\n",
       "2015-03-09 21:21:47    1\n",
       "2015-03-09 21:27:31    1\n",
       "2015-03-09 21:01:23    1\n",
       "                      ..\n",
       "2015-03-09 21:21:24    1\n",
       "2015-03-09 21:32:28    1\n",
       "2015-03-09 21:27:59    1\n",
       "2015-03-09 21:27:31    2\n",
       "2015-03-09 21:30:20    1\n",
       "Name: urls, dtype: int64"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"urls\"].apply(count_links)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And since the result of `appply()` is another `Series`, we can even create a new column with the it to enrich a `DataFrame`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>urls</th>\n",
       "      <th>urls_count</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:01:01</th>\n",
       "      <td>http://ift.tt/1AXDXIR</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:08:06</th>\n",
       "      <td></td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:21:47</th>\n",
       "      <td>http://phon.es/yljt</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:27:31</th>\n",
       "      <td>http://huff.to/1KMYiMd</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:01:23</th>\n",
       "      <td>http://japan.cnet.com/sp/apple_watch/35061515/...</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:21:24</th>\n",
       "      <td>http://www.apple.com/ru/watch/battery.html</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:32:28</th>\n",
       "      <td></td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:27:59</th>\n",
       "      <td>http://read.bi/1AXKvrd</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:27:31</th>\n",
       "      <td>http://apple.com/watch,https://amp.twimg.com/v...</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:30:20</th>\n",
       "      <td></td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>9985 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                                  urls  \\\n",
       "created_at                                                               \n",
       "2015-03-09 21:01:01                              http://ift.tt/1AXDXIR   \n",
       "2015-03-09 21:08:06                                                      \n",
       "2015-03-09 21:21:47                                http://phon.es/yljt   \n",
       "2015-03-09 21:27:31                             http://huff.to/1KMYiMd   \n",
       "2015-03-09 21:01:23  http://japan.cnet.com/sp/apple_watch/35061515/...   \n",
       "...                                                                ...   \n",
       "2015-03-09 21:21:24         http://www.apple.com/ru/watch/battery.html   \n",
       "2015-03-09 21:32:28                                                      \n",
       "2015-03-09 21:27:59                             http://read.bi/1AXKvrd   \n",
       "2015-03-09 21:27:31  http://apple.com/watch,https://amp.twimg.com/v...   \n",
       "2015-03-09 21:30:20                                                      \n",
       "\n",
       "                     urls_count  \n",
       "created_at                       \n",
       "2015-03-09 21:01:01           1  \n",
       "2015-03-09 21:08:06           1  \n",
       "2015-03-09 21:21:47           1  \n",
       "2015-03-09 21:27:31           1  \n",
       "2015-03-09 21:01:23           1  \n",
       "...                         ...  \n",
       "2015-03-09 21:21:24           1  \n",
       "2015-03-09 21:32:28           1  \n",
       "2015-03-09 21:27:59           1  \n",
       "2015-03-09 21:27:31           2  \n",
       "2015-03-09 21:30:20           1  \n",
       "\n",
       "[9985 rows x 2 columns]"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"urls_count\"] = df[\"urls\"].apply(count_links)\n",
    "df[[\"urls\", \"urls_count\"]]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If we now wanted to know the distribution or histogram of the number of links, we could use the `.value_counts()` method of `Series`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1    9394\n",
       "2     575\n",
       "4       8\n",
       "3       8\n",
       "Name: urls_count, dtype: int64"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"urls_count\"].value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div style=\"font-size: 1em; margin: 1em 0 1em 0; border: 1px solid #86989B; background-color: #f7f7f7; padding: 0;\">\n",
    "<p style=\"margin: 0; padding: 0.1em 0 0.1em 0.5em; color: white; border-bottom: 1px solid #86989B; font-weight: bold; background-color: #AFC1C4;\">\n",
    "Activity\n",
    "</p>\n",
    "<p style=\"margin: 0.5em 1em 0.5em 1em; padding: 0;\">\n",
    "Given the twitter `DataFrame`, add a new column `length` with the length ot the `text`, and show the tweets with exactly 140 characters.\n",
    "<br/>\n",
    "</p>\n",
    "</div>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>text</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:08:06</th>\n",
       "      <td>RT @MisterC00l: Noyer son Apple Watch en or à ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:25:16</th>\n",
       "      <td>RT @tim: 10:29:  Apple \"believes amazing thing...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:06:52</th>\n",
       "      <td>Apple Watch, and a few more things - The new g...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:20:14</th>\n",
       "      <td>RT @HobokenNJ07030: @iamcolinquinn \"to me, hav...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:00:57</th>\n",
       "      <td>If I had $17K to burn, I'd look at the Apple E...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:06:54</th>\n",
       "      <td>#eb Las claves del nuevo reloj de Apple - Appl...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:08:09</th>\n",
       "      <td>Apple reveals everything we didn't know about ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:34:32</th>\n",
       "      <td>RT @PatriotsOfMars: Apple has announced that t...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:25:53</th>\n",
       "      <td>RT @CNET: http://t.co/0oVXdZGqLm launches an A...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-09 21:01:07</th>\n",
       "      <td>RT @zdnetfr: Toutes les notifis de l'iPhone pe...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>840 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                                  text\n",
       "created_at                                                            \n",
       "2015-03-09 21:08:06  RT @MisterC00l: Noyer son Apple Watch en or à ...\n",
       "2015-03-09 21:25:16  RT @tim: 10:29:  Apple \"believes amazing thing...\n",
       "2015-03-09 21:06:52  Apple Watch, and a few more things - The new g...\n",
       "2015-03-09 21:20:14  RT @HobokenNJ07030: @iamcolinquinn \"to me, hav...\n",
       "2015-03-09 21:00:57  If I had $17K to burn, I'd look at the Apple E...\n",
       "...                                                                ...\n",
       "2015-03-09 21:06:54  #eb Las claves del nuevo reloj de Apple - Appl...\n",
       "2015-03-09 21:08:09  Apple reveals everything we didn't know about ...\n",
       "2015-03-09 21:34:32  RT @PatriotsOfMars: Apple has announced that t...\n",
       "2015-03-09 21:25:53  RT @CNET: http://t.co/0oVXdZGqLm launches an A...\n",
       "2015-03-09 21:01:07  RT @zdnetfr: Toutes les notifis de l'iPhone pe...\n",
       "\n",
       "[840 rows x 1 columns]"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Write your code here\n",
    "df[\"length\"] = df[\"text\"].apply(lambda x: len(x))\n",
    "df[df[\"length\"] == 140][[\"text\"]]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`Series` also have some handy functions to compute basic statistics, like the sum or the mean. For example, given the new column created above, let's compute the average lenght of the tweets."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "102.67200801201803"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"length\"].mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Grouping data\n",
    "\n",
    "But what about the most tweeted language? Or the most prolific user? For this kind of operations we need to use what is called the [Split-Apply-Combine](https://www.jstatsoft.org/article/view/v040i01/v40i01.pdf) approach:\n",
    "- *Split* up a dataset\n",
    "- *Apply* a function to each piece\n",
    "- *Combine* all the pieces back together\n",
    "\n",
    "<figure>\n",
    "  <img src=\"https://swcarpentry.github.io/r-novice-gapminder/fig/splitapply.png\" alt=\"Split-Apply-Combine\">\n",
    "  <figcaption>* Split-Apply-Combine - Source: [Software Carpentry](https://software-carpentry.org/lessons/). *</figcaption>\n",
    "</figure>\n",
    "\n",
    "In Pandas this can take the form of a `.groupby()` (split) operation followed by an `.aggregate()` (apply) function. Aggregates are like `apply()` that operate at the group level. Combining is done automatically for us by Pandas."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<pandas.core.groupby.DataFrameGroupBy object at 0x10bb9d2e8>"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.groupby(\"lang\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<pandas.core.groupby.DataFrameGroupBy object at 0x10bb9d860>"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.groupby(\"lang\")[[\"text\"]]  # no computation is made yet!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>text</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>lang</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>ar</th>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>bg</th>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>bs</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>da</th>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>de</th>\n",
       "      <td>155</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tr</th>\n",
       "      <td>246</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>uk</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>und</th>\n",
       "      <td>21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>vi</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>zh</th>\n",
       "      <td>48</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>38 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      text\n",
       "lang      \n",
       "ar      14\n",
       "bg       6\n",
       "bs       2\n",
       "da       4\n",
       "de     155\n",
       "...    ...\n",
       "tr     246\n",
       "uk       2\n",
       "und     21\n",
       "vi       2\n",
       "zh      48\n",
       "\n",
       "[38 rows x 1 columns]"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def count_nonzero(items):\n",
    "    total = 0\n",
    "    for item in items:\n",
    "        if item != 0:\n",
    "            total += 1\n",
    "    return total\n",
    "\n",
    "df.groupby(\"lang\")[[\"text\"]].aggregate(count_nonzero)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`DataFrames` can be sorted by the values of one or more columns, in either ascending or descending order."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>text</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>lang</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>en</th>\n",
       "      <td>6680</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>es</th>\n",
       "      <td>847</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ja</th>\n",
       "      <td>686</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ru</th>\n",
       "      <td>480</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>fr</th>\n",
       "      <td>363</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>lv</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>hi</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>iw</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ht</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>fi</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>38 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      text\n",
       "lang      \n",
       "en    6680\n",
       "es     847\n",
       "ja     686\n",
       "ru     480\n",
       "fr     363\n",
       "...    ...\n",
       "lv       1\n",
       "hi       1\n",
       "iw       1\n",
       "ht       1\n",
       "fi       1\n",
       "\n",
       "[38 rows x 1 columns]"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "aggregated = df.groupby(\"lang\")[[\"text\"]].aggregate(count_nonzero)\n",
    "aggregated.sort_values(\"text\", ascending=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "However, for complex groupings like, creating a pivot table can be more useful."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>text</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>lang</th>\n",
       "      <th>user_screen_name</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>en</th>\n",
       "      <th>asdplayer55</th>\n",
       "      <td>21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ja</th>\n",
       "      <th>iphone_np</th>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"8\" valign=\"top\">en</th>\n",
       "      <th>lexinerus</th>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WhinyAppleWatch</th>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>niftytech_news</th>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>_lxwrence_</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>_kylefrost</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>_ktbm</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>_keramel</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>zh</th>\n",
       "      <th>xxxxxTxxxxx</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>8609 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                       text\n",
       "lang user_screen_name      \n",
       "en   asdplayer55         21\n",
       "ja   iphone_np           13\n",
       "en   lexinerus           11\n",
       "     WhinyAppleWatch     10\n",
       "     niftytech_news      10\n",
       "...                     ...\n",
       "     _lxwrence_           1\n",
       "     _kylefrost           1\n",
       "     _ktbm                1\n",
       "     _keramel             1\n",
       "zh   xxxxxTxxxxx          1\n",
       "\n",
       "[8609 rows x 1 columns]"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.pivot_table(\n",
    "    index=[\"lang\", \"user_screen_name\"],\n",
    "    values=[\"text\"],\n",
    "    aggfunc=count_nonzero\n",
    ").sort_values(\"text\", ascending=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div style=\"font-size: 1em; margin: 1em 0 1em 0; border: 1px solid #86989B; background-color: #f7f7f7; padding: 0;\">\n",
    "<p style=\"margin: 0; padding: 0.1em 0 0.1em 0.5em; color: white; border-bottom: 1px solid #86989B; font-weight: bold; background-color: #AFC1C4;\">\n",
    "Activity\n",
    "</p>\n",
    "<p style=\"margin: 0.5em 1em 0.5em 1em; padding: 0;\">\n",
    "Given the twitter `DataFrame`, show the most popular retweet written in English.\n",
    "<br/>\n",
    "* **Hint**: In our dataset, retweets are tweets that start with \"RT @\".*\n",
    "</p>\n",
    "</div>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>text</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>text</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>RT @AnnaKendrick47: We should be thanking Apple for launching the $10,000 \"apple watch\" as the new gold standard in douchebag detection.</th>\n",
       "      <td>246</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                    text\n",
       "text                                                    \n",
       "RT @AnnaKendrick47: We should be thanking Apple...   246"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Write your code here\n",
    "en_text = df[df['lang'] == 'en'][['text']]\n",
    "en_retweets = en_text[en_text.text.str.startswith(\"RT @\")]\n",
    "en_retweets_aggregated = en_retweets.groupby(\"text\")[[\"text\"]].aggregate(count_nonzero)\n",
    "en_retweets_aggregated.sort_values(\"text\", ascending=False)[:1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Visualization"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Pandas also provides some utilities to create basic plots just by calling `plot()` on a `Series` or `DataFrame`. But first we need to tell Jupyter that we are going to plot some charts using the plotting library matplotlib."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# enables inline plotting in Jupyter using matplotlib\n",
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x10d1c7eb8>"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10d1c70b8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df.groupby(\"lang\")[[\"lang\"]].aggregate(count_nonzero).plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Each time you call `plot()` an `Axes` object is returned, and Jupyter knows how to paint those. `Axes` objects are objects of the underlying `matplotlib` library for plotting in Python, and as such, lots of different options can be given to customize the aspect."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x10d7527b8>"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4UAAAFWCAYAAADe5TgIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xm4JGV5///3h0VAFoU4EsImGASBqMCIuERBYxh/RMGo\nBDRCFMQIbjGJQn4mikokRo2SKAZRGQyRYDQBMWAIorgE2UQRkIggwsgmyqIiAt7fP+o5TM1hljOn\nu2cY6v26rr666umqu5/uc7qr73qWSlUhSZIkSRqm1VZ2BSRJkiRJK49JoSRJkiQNmEmhJEmSJA2Y\nSaEkSZIkDZhJoSRJkiQNmEmhJEmSJA2YSaEkSZIkDZhJoSRpLJKcn+RxSbZOcvESttkiyc96t0ry\n8976766Aeq7dnnezST/X8kqyXZJ7V3Y9JEnDssbKroAkadWXZE1gS+B7wIuBxSaFVfVDYL3efgU8\nsaquWhH1fDBJskZVmQBKklY6WwolSeOwI3B5VRUwlyUkhcuS5PFJbu6tfzLJD3vrn07yp215oyQn\nJrkxyXVJ3pZktd62r05yZZKfJPl8kk3bQ+e2+ytb6+Q+SX4zyZlJbktya5IvLqF+U62Mr03ygyS3\nJDkqSZb1vL19X5Pk+8B3lvO9eXqSb7Q6/ijJPyRZY1rsQ5J8P8lPk/xDb981khzTXtv3k7y+3yLZ\n3sNn9NaPTnJ8b9/PJLmpPfc5SbbtbfvoJGckuSPJeW3f/+k9vmOSL7Y6XZFkn+V53ZKkyTMplCTN\nWpJXJLkN+Brw1Lb858DftQRiq+WJV1VXAJVkh1b0u8B9vTjPBL7clk8Cbge2BnYF9gFe3ur1R8Ab\ngecDGwPfBP6lFwNg26par6r+E3gLcCXwKGAT4O3LqOrzgSe1590feNkMnnfKHwC7ADst4zmmuwd4\nLfAbdO/L84GDp20zr8XdGXhFkt1b+WuBZ9El77vSteYuj1OBxwK/CXwXmN977DjgFrrXewhw4NQD\nSTYAzgI+RvfeHgB8PMlvL+fzS5ImyKRQkjRrVfWJqnokcBGwG/AEuhawDarqkVV1zSzCngs8K8lj\ngDuAz7X1x7fnvCLJlnTJ3Zuq6hdVdQNwDLBfi/GnwLuq6v+q6h7gSOAZSTZewnPeA/wWsEVV/aqq\nzl3CdlPeXVW3tdf3T3SJ4Uyf96i2710zfD9or/v8qrqgqu6rqu8Dx9Mlen1/W1V3tHqdS5e4AuwL\n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\ntjy9XJIkSZI0okkmhWsAOwPHVtVOwM9pXUWntJa/GtcTJjkkyYVJLrzlllvGFVaSJEmSHrImmRRe\nD1xfVd9o6/9OlyTe1LqE0u5vbo8vADbv7b9ZK1vQlqeXP0BVHVdVc6tq7pw5c8b2QiRJkiTpoWpi\nSWFV3Qhcl2TbVvQc4HLgNODAVnYgcGpbPg3YL8laSbaim1Dm/NbV9I4ku7VZRw/o7SNJkiRJGsEa\nE47/OuCkJA8DrgZeQZeInpLkIOBaYF+AqrosySl0ieO9wGFVdV+LcyhwArAOcEa7SZIkSZJGNNGk\nsKouAeYu5qHnLGH7o4CjFlN+IbDjeGsnSZIkSZr0dQolSZIkSQ9iJoWSJEmSNGAmhZIkSZI0YCaF\nkiRJkjRgJoWSJEmSNGAmhZIkSZI0YCaFkiRJkjRgJoWSJEmSNGAmhZIkSZI0YCaFkiRJkjRgJoWS\nJEmSNGAmhZIkSZI0YCaFkiRJkjRgJoWSJEmSNGAmhZIkSZI0YCaFkiRJkjRgJoWSJEmSNGAmhZIk\nSZI0YCaFkiRJkjRgJoWSJEmSNGAmhZIkSZI0YCaFkiRJkjRgJoWSJEmSNGAmhZIkSZI0YCaFkiRJ\nkjRgJoWSJEmSNGAmhZIkSZI0YCaFkiRJkjRgJoWSJEmSNGAmhZIkSZI0YBNNCpP8IMmlSS5JcmEr\n2yjJWUm+1+437G1/RJKrklyZZM9e+S4tzlVJjkmSSdZbkiRJkoZiRbQU7lFVT6qquW39cODsqtoG\nOLutk2R7YD9gB2Ae8OEkq7d9jgVeBWzTbvNWQL0lSZIk6SFvZXQf3RuY35bnA/v0yk+uqrur6hrg\nKmDXJJsAG1TVeVVVwIm9fSRJkiRJI5h0UljA/yS5KMkhrWzjqrqhLd8IbNyWNwWu6+17fSvbtC1P\nL5ckSZIkjWiNCcd/RlUtSPJo4Kwk3+0/WFWVpMb1ZC3xPARgiy22GFdYSZIkSXrImmhLYVUtaPc3\nA/8B7Arc1LqE0u5vbpsvADbv7b5ZK1vQlqeXL+75jququVU1d86cOeN8KZIkSZL0kDSxpDDJuknW\nn1oGfh/4DnAacGDb7EDg1LZ8GrBfkrWSbEU3ocz5ravpHUl2a7OOHtDbR5IkSZI0gkl2H90Y+I92\n9Yg1gH+tqjOTXACckuQg4FpgX4CquizJKcDlwL3AYVV1X4t1KHACsA5wRrtJkiRJkkY0saSwqq4G\nnriY8luB5yxhn6OAoxZTfiGw47jrKEmSJElDtzIuSSFJkiRJepAwKZQkSZKkATMplCRJkqQBMymU\nJEmSpAEzKZQkSZKkATMplCRJkqQBMymUJEmSpAEzKZQkSZKkATMplCRJkqQBMymUJEmSpAEzKZQk\nSZKkATMplCRJkqQBMymUJEmSpAEzKZQkSZKkATMplCRJkqQBMymUJEmSpAEzKZQkSZKkATMplCRJ\nkqQBMymUJEmSpAEzKZQkSZKkATMplCRJkqQBMymUJEmSpAEzKZQkSZKkATMplCRJkqQBMymUJEmS\npAEzKZQkSZKkATMplCRJkqQBMymUJEmSpAGbUVKY5HFJzk7ynbb+hCRvnWzVJEmSJEmTNtOWwo8C\nRwD3AFTVt4H9JlUpSZIkSdKKMdOk8OFVdf60sntnsmOS1ZN8M8npbX2jJGcl+V6737C37RFJrkpy\nZZI9e+W7JLm0PXZMksyw3pIkSZKkpZhpUvjjJI8FCiDJi4EbZrjvG4AreuuHA2dX1TbA2W2dJNvT\ntT7uAMwDPpxk9bbPscCrgG3abd4Mn1uSJEmStBQzTQoPA/4Z2C7JAuCNwGuWtVOSzYC9gON7xXsD\n89vyfGCfXvnJVXV3VV0DXAXsmmQTYIOqOq+qCjixt48kSZIkaQRrzGSjqroa+L0k6wKrVdWdM4z/\nAeDNwPq9so2raqqV8UZg47a8KXBeb7vrW9k9bXl6uSRJkiRpRDNKCgGS7EXXtXPtqSF9VfWOpWz/\nB8DNVXVRkt0Xt01VVZJarhovvY6HAIcAbLHFFuMKK0mSJEkPWTO9JMVHgD8CXgcEeAmw5TJ2ezrw\ngiQ/AE4Gnp3kX4CbWpdQ2v3NbfsFwOa9/TdrZQva8vTyB6iq46pqblXNnTNnzkxemiRJkiQN2kzH\nFD6tqg4AflpVRwJPBR63tB2q6oiq2qyqHkM3gcwXq+qPgdOAA9tmBwKntuXTgP2SrJVkK7oJZc5v\nXU3vSLJbm3X0gN4+kiRJkqQRzLT76F3t/hdJfgu4Fdhkls95NHBKkoOAa4F9AarqsiSnAJfTXe7i\nsKq6r+1zKHACsA5wRrtJkiRJkkY006Tw9CSPBP4euJju0hTHL32XharqS8CX2vKtwHOWsN1RwFGL\nKb8Q2HGmzydJkiRJmpmZzj76zrb4mXYR+rWr6vbJVUuSJEmStCLMKClM8oeLKbsduLSqbl7MLpIk\n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\nOftogI8BV1TV+3sPnQYc2JYPBE7tle+XZK0kW9FNKHN+62p6R5LdWswDevtIkiRJkkawxgRjPx14\nOXBpkkta2V8BRwOnJDkIuBbYF6CqLktyCnA53cylh1XVfW2/Q4ETgHWAM9pNkiRJkjSiiSWFVfVV\nYEnXE3zOEvY5CjhqMeUXAjuOr3aSJEmSJFhBs49KkiRJkh6cTAolSZIkacBMCiVJkiRpwEwKJUmS\nJGnATAolSZIkacBMCiVJkiRpwEwKJUmSJGnATAolSZIkacBMCiVJkiRpwEwKJUmSJGnATAolSZIk\nacBMCiVJkiRpwEwKJUmSJGnATAolSZIkacBMCiVJkiRpwEwKJUmSJGnATAolSZIkacBMCiVJkiRp\nwEwKJUmSJGnATAolSZIkacBMCiVJkiRpwEwKJUmSJGnATAolSZIkacBMCiVJkiRpwEwKJUmSJGnA\nTAolSZIkacBMCiVJkiRpwEwKJUmSJGnATAolSZIkacBMCiVJkiRpwCaWFCb5eJKbk3ynV7ZRkrOS\nfK/db9h77IgkVyW5MsmevfJdklzaHjsmSSZVZ0mSJEkamkm2FJ4AzJtWdjhwdlVtA5zd1kmyPbAf\nsEPb58NJVm/7HAu8Ctim3abHlCRJkiTN0sSSwqo6F/jJtOK9gflteT6wT6/85Kq6u6quAa4Cdk2y\nCbBBVZ1XVQWc2NtHkiRJkjSiFT2mcOOquqEt3whs3JY3Ba7rbXd9K9u0LU8vlyRJkiSNwUqbaKa1\n/NU4YyY5JMmFSS685ZZbxhlakiRJkh6SVnRSeFPrEkq7v7mVLwA27223WStb0Janly9WVR1XVXOr\nau6cOXPGWnFJkiRJeiha0UnhacCBbflA4NRe+X5J1kqyFd2EMue3rqZ3JNmtzTp6QG8fSZIkSdKI\n1phU4CSfAnYHHpXkeuBtwNHAKUkOAq4F9gWoqsuSnAJcDtwLHFZV97VQh9LNZLoOcEa7SZIkSZLG\nYGJJYVXtv4SHnrOE7Y8CjlpM+YXAjmOsmiRJkiSpWWkTzUiSJEmSVr6JtRRKQ/WYwz8/421/cPRe\nE6yJJEmStGy2FEqSJEnSgJkUSpIkSdKAmRRKkiRJ0oCZFEqSJEnSgJkUSpIkSdKAOfuoJEkrkDMU\nS5IebGwplCRJkqQBMymUJEmSpAEzKZQkSZKkATMplCRJkqQBMymUJEmSpAEzKZQkSZKkATMplCRJ\nkqQB8zqFkiRJWqm8fqe0ctlSKEmSJEkDZlIoSZIkSQNmUihJkiRJA2ZSKEmSJEkD5kQzklYpyzMZ\nATghgSRJ0rLYUihJkiRJA2ZSKEmSJEkDZlIoSZIkSQPmmEJJkiRJy215xvk7xv/BzZZCSZIkSRow\nk0JJkiRJGjCTQkmSJEkaMMcUamzsVy5JkiStemwplCRJkqQBW2VaCpPMAz4IrA4cX1VHr+QqSZIe\nBOylIEnSaFaJpDDJ6sCHgOcC1wMXJDmtqi5fuTWTpIcekyxp1efnWNLyWCWSQmBX4KqquhogycnA\n3oBJoSRJup/JkFZl/v+qb0X+P6wqSeGmwHW99euBpyxvkEm9sX6AJ8v3V5L0UOUxbrL87ac+/25L\nlqpa2XVYpiQvBuZV1cFt/eXAU6rqtdO2OwQ4pK1uC1w5w6d4FPDjMVXXuMY1rnGNa1zjGte4w4s7\nydjGNe5s425ZVXOWtdGq0lK4ANi8t75ZK1tEVR0HHLe8wZNcWFVzZ1894xrXuMY1rnGNa1zjDjnu\nJGMb17iTjruqXJLiAmCbJFsleRiwH3DaSq6TJEmSJK3yVomWwqq6N8lrgS/QXZLi41V12UquliRJ\nkiSt8laJpBCgqv4L+K8JhV/uLqfGNa5xjWtc4xrXuMY17gqKbVzjTjTuKjHRjCRJkiRpMlaVMYWS\nJEmSpAkwKZQkSZKkARtcUphktSRPW9n1kDQ8SdaaSZmGI8mjk2wxdVvZ9ZEkDdMgxxQm+WZV7bSy\n67E8krwHeBdwF3Am8ATgz6rqX0aIuTZwELADsPZUeVW9csS6Pg44Fti4qnZM8gTgBVX1rlnG22hp\nj1fVT2YTtxd/DvAq4DH0Jl8aw/vwBuATwJ3A8cBOwOFV9d8jxv1kVb18WWUrW5I3V9V7kvwj8IAv\nmqp6/QixVwdOrKqXjVLHxcR9dlV9MckfLu7xqvrsiPEvrqqdl1X2YNJOoj2GRT8bJ44Y8+nAJVX1\n8yR/DOwMfLCqrh0x7huq6oPLKptF3HcC5wJfr6qfjxKrF/MFwPuA3wJuBrYErqiqHcYU/2HA49rq\nlVV1zxhiTur9/UPg81V190gVXDTeEo3hc/wI4O3A77aiLwPvqKrbZxlvqZ//qrp4NnF78c+uqucs\nq2yWsV8APLOtfrmqPjeGmJ9g8ceMUY/JB1XVx6aVHV1Vh48Y93PAp4BTx/X90Is99u/fSWjH5Muq\narsJxH5HVf3NtOca6fg/6c/cJEzqt2rfKjP76JidneRFwGdrzFlx+3KYHvN24ELgn6vql7MM/ftV\n9eYkLwRyQ+13AAARQUlEQVR+APwh3Y+UWSeFwCeB7wJ7Au8AXgZcMUK8KR8F/hL4Z4Cq+naSf6VL\namfjIrr3NCx8b9PuC9h69lUF4FTgK8D/APeNGKvvlVX1wSR7AhsCL6d7z0dKCumS+PslWQPYZcSY\nJNkGeDewPYueJJjt+/sW4D3A94Gfjlq/vqq6L8mWSR5WVb8aY+hnAV8Ens+in+Op/71Z/ZhM8pvA\npsA60w5GGwAPn11VF4l/DYv/ETXSZyPJJ4HHApew8LNRwKg/So4FnpjkicCf0500OZHu/R/FgcD0\nBOVPFlO2vK4G9geOSXIn3ffFuVV16ggx3wnsBvxPVe2UZA/gj0esJwBJdgfm0x0rAmye5MCqOnfE\n0JN6f58P/EOSc4F/A86sqntHjNfXP27M+nPc83HgO8C+bf3ldCcAl5qMLsX7esuL+9559myCthO/\nDwcelWRDFh43N6D7PhpJkncDuwIntaLXJ3lqVf3ViKFP7y2vDbwQ+NGIMQFelOSXVXUSQJIP0TvW\njeC9wB8B705yAXAycPoIv/do9Rvr92+SS1nMcYL2f1ZVT5hNXLj/mHxlki2q6oezjbMEmyc5oqre\n3XrWnAJ8c8SYU5+5tYG5wLfo3ocn0P1ef+ryBkxySlXtu5j3eeT3t5nUb9X7DTUpfDXwJuDeJL9k\n4R9sgzHEvhqYQ3fWCLovijvpzth+lO7gMRtrtvs/AD5dVbcnWdr2M/HbVfWSJHtX1fyWuH1l1KDA\nw6vq/Gn1m/UBvqq2gq7rL13iulVVvaN1tdpkpJp2Hl5VbxlDnOmm3oC9gE9W1WUZ4Y+W5Ajgr+gS\nizt6z/ErxjM18SeAtwH/AOwBvILRupjflOS3WpzdWfh+jMvVwNeSnAbcf3a2qt4/24BV9ba2+Brg\nRSx6Rm6UE0h70v143ozuB8SUO4EjRog7ZW5veW3gJcBSW9iXI+724z55BtxbVZVkb+CfqupjSQ6a\nbbAk+wMvBbZq/w9T1gdG6kkAUFWfAD7Rkvt9gb8ADmnxZ+ueqrq1DWlYrarOSfKBUevavI/uROKV\ncH/vjU8xy5NHK+D9fUWSNYHn0SXfH0pyVlUdPNt4cH9SNM7P8ZTHVtWLeutHJrlktsGqag+AJOsA\nhwLPoKvnV+hOoMzWq4E30rVGX9QrvxP4pxHiTtkLeFJV/RogyXy6H+sjJYVV9Zn+epJPAV8dJWbz\nIuC0JL8G5gG3VdWsv3emVNWXgS+3Fqxn07XmfJwu+R7FuL9//4DuOPweuhP3U6bKRrUhcFmS81n0\nmPyCEeO+Ejip/QbaA/ivqhrpu7L3mfsssHNVXdrWd6TrBTAbb2j3JwDnAdePUsfFmNRv1fsNMims\nqvVbl8RtGM9Zor6nVdWTe+ufS3JBVT05yWUjxP1ckiuAXwJ/2pqRRzoLBUx1J7qtfRBuBB49YkyA\nHyd5LO3gm+TFwA1jiPsh4Nd0X7rvoDuwfQZ48tJ2moHTk/x/7VqY43RRki/QtWQenmR9uvrPSlW9\nm+5M5HuAS4Gtq+rIlhz/5hjqu05VnZ0krRvf25NcBPzNsnZcgmOBs+lef/8HydTZ71m1YmVhV9kX\n0CWwqzHaj/PF+U/gNuBiFn7OZn1grqr5wPzWVbJY9Efq7wD/MeuadvFvnVb0gRH/dlO+Q/e/NY7P\nb9+d7QD/x8Az2wmfNZexz9J8na6Oj2LRVpc7gW+PEBeAJMfTtaDfRPdD/cV0/xujuC3Jei3eSUlu\npvdDakRrTiWEAFX1fy3pmq2Jvr8AVXVPkjPoPh/rAPsAs0oKe8b6Oe65K8kzquqrcH936LvGEHc+\ncAdwTFt/KV2r0L5L3GMpWrfeDyZ5HfAwFk02jx+5tp1HsvDEwCPGFHO6bRjht0kWHYJyMN3/xdfo\nkvmNRh2C0p5jHboW6j+i6w4/f9SYjPn7d6p7fpLfnt5VP8k4un2uTZd43h8W+LvZBpvWq+aDdL3P\nvgacm2TnMXXx3HYqIQSoqu8kefxsAlXV1N9pPboT9T+h6/nw6aq6aeSaTu636v2GOqbwYLqMfjO6\nZvnd6MaKjKN//RXAnlPN50m2pOsK8/iMMJaxfeG8jm4Mw69avY/v/RPOJubBdEnV79Cd2VgP+Ouq\n+ufZxmxxt6b7QDyNrtvgNcDLxjBe6OKq2rn/Pib5VlU9ccS4d9J1sfkVXaI8lpbj9kP3rcCGVfVn\nLXnbsqpGao1N8hG6rgPPbv9XGwL/Pe1kxGzifp3uR8O/03WhXAAcXVXbjhj32Kp6zSgxpsW7HPg9\nurG1u09/fEwH+O9U1Y6jxllM3C/QfSYuptf9o6ret8SdZha3f/Bcje4M82vG8Nk4B3gScD5w/3iv\nUc/8tha3lwIXVNVX2mdj9wfjWBmAJP9B19pyOd34sXOr6uoRYz6cLlEJXXK8AXDSmP5/P053Ampq\neMEf0x3vR24VmYQkz6P7Mb078CW67mH/PWIX0kl+jp9E96N/Kgn6KXBgVY2UICe5vKq2X1bZLOJ+\nmm4Yy1Q3z5cCj6iqWSWbLWboej69EziH7v/4mXTj5v9txLj3AT/rFd8IHDG9BXE5Yk7vXt8ffjKO\nbvan0HWjPZOu6+i5U62ns4w3NQxpfcb4/ZvkNXQt0VvTDeuYsj7wtaoaqft6Fj9m/tuz7TbZjj/w\nwO7fXWHVrLpVT3uOT9GdjJv6rnwZsF5V7T+G2E+g+157EXB9Vf3eLOPcycLXvR7db9VfMd5ejsBA\nWwrpEsInA+dV1R7tDMnfjin2nwNfTTL1gdsaODTJuox25mjqDOJU17iX0p05We4v9SRv6q2+ot1/\nqN2vO9sKTov7X3QHitXoPnAvYmHdZ+ue1j1jqgVyDiO0vPU8gsl0S+23bP4Z3Vn19zN6y+auU8kx\nQFX9NN2kErPSa3n7T7rk+PV0B/pn040hGsk4E8LmI3QtkFvR9f2fMlIL5DRfT/I7/TOIY7JpVe05\n5pjQtd5MHTTupRtL9pIxxH37GGI8QFXdSO/7oJ1Em3VCmOSrVfWMaQdPGNNBs6pe2J7n8XRdgc9J\nsnpVbTbbutK1Ok4fI/2uJD8B/r6qPjxClT9O9yN1ajKnrwDfm22wxbyv9z/EeH6UHEB3Rv3VNabJ\nZppJfY6voOtu91i6lrLb6Vo2R201vTjJblV1HkCSp7Dod9xs7TAtsTynnVybtdb9+y/pTqpPHdPe\n0j7bo8a9fJzJfC0cgrIv3Un6O5L8NV2L3jvH8BSnAwf34r4+yTurarbj3t7Lwla2fXrlI7W8Af8K\nnEE3d0B/cp07RzkZ1U82k/Q/A+vTtezNSq+L59sW9/Bs407zCrrhIlNdP89ltC7bfTfTndC4lRFa\nuqtqfYAkXwTeV1Wfn3osyUdHrWTfUJPCX1bVL5OQZK2q+m6SkVpDer5I18Q9ly7Z+AhwdnUDjkfp\nA73jGL/Up7rabUv3ZT41RuT5dGekZmt63FPpvsRePmLcKcfQdbN7dJKj6LpwvXUMcSfVLfUp40ze\nesadHO+Sbuzfy+jGvf6C7uTGg1JVHUM34cdYWyBhkYH4awCvSHI13RnacQ0Un9SP1OfxwLFT+9H9\nP89adWNlxmZSyVtLsu4/eI5bkj+g66XxTLok4IvMcvz1suqa5DfoumuOkhQeQ9dy9f4Wc3/gr1l0\nAo8Zm9T72os/8ln5JXgG8CetpWicn+NTWdgtdcGIsfp2ofuOmJqoYwvgyqnvpRHqPalk82Jgs6o6\nbZlbLp+Lkjy5qi4Yc9y3VtUpSZ5Bd7x/L10C8JQR4/5FVZ04Le5HZht36ns3yZrTv4Nbr7FZqW52\n3Nvpxu2O00SSzZ5+q/FUF9VxTIpI+23+D+02FkkOpWuwmQN8GnhVVY10EqZ5DPDmJLtU1dSxfeRJ\nBvuGmhRen+SRdC0jZyX5KTBS18aeE3ngmIBPMvpZ+7F9qVfVkS3GuXQDbO9s628HPr+UXVdK3F78\nk9KNk3oO3cF9n6oaxxfDqpK8TRl3cjzV8jY19m+qxW2cLW9jN4EWSFh0PMTYrIBkc3Fjp2ZtVU3e\nJmgeXRL4waoaxyyIS1Td5DO7jxjmxcCnk7yULpE9APj9Ues2biugBfJ5I+6/JJtV1bwJxJ1ETJhc\nsvkU4GVJrqXrETSu77NJxZ3qsr8X8NGq+nyS2c6KPrG4k2p5m5QJJptT8RcZXpHkvcAXxhE73Xjg\nt9NdEqh/mYdRfvdsDryxqmY9+dQS3Eb3+/eY1sV4LLNV9w1yTGFfkmfRteidWWOY2n7cYwJ6PybX\npGuB+2Fb3xL47mzjtthXAk+Y6q6Tbqrfb9foY8gmEndSknyDbvzjBS05nEM3nmWka1kmeRmLDjp/\nMd2Zyk+Poc7bsTA5PnscyfEkWt7USTe2eIlq9PG2Exk7pVVXuhlH/5PumPHCqhrHRCgCkhwH/OME\nWvwnYlLfP0uKO4bvs0nFPZ2uZfe5dMflu4Dza/Sx12ONm+46mBsyuZa3VVq6eRQuqKrfHkOs79IN\n77mIRcf5T5+8baXLovNp/Aldj64NZzOMYUmG2lJ4v3F3j2L83TQm0nLRnAicn24SBej6rp/wII47\nKRPpljrBlk2q6rt015gcGxPCyRn1x8wMTKpb6qBNeqziuOWB18faCFgd+EYSxtDSos6kuqVOxKS+\nf1a1uHRd+uYB762q25JswqKXZnhQxJ10y9uqZtr32up03TJHGhrRc3tVnTGmWJP2kamFqjqhvS+H\njfMJBt9SOC6TbNGbpHSzFv5uWz23Zj8weoXEnZRJtLxJkzatW+o2dNdufND/SNVkTLpFWp1JtWRJ\neqBpn7d7gZtqxJmJe7GPpks0P8uiM7yO43IXqxyTwjHxYCxpRfN7R5Kk2ckSLntRY7jcxapo8N1H\nx8UfX5JWNL93JEmatS8tpmywrWUmhZIkSZKGZmKXu1gV2X1UkiRJ0qC12fK/UFW7r+y6rAyrrewK\nSJIkSdJK9nBgbJd4WNXYfVSSJEnSoEz4cherHLuPSpIkSRqUSV7uYlVkUihJkiRJA+aYQkmSJEka\nMJNCSZIkSRowk0JJkoAk706yR5J9khyxmMf//ySXtNt9veXXT6AuWyfZb9xxJUlaHMcUSpIEJPki\nsBfwt8C/V9XXlrLtz6pqvQnW5feA11bVPpN6DkmSpthSKEkatCR/n+TbwJOB/wUOBo5N8jcz3H+N\nJFe35Ucl+XWSp7X1ryfZKsl6SU5Icn6SbyZ5fm/f97fybyc5uIU9GthjqiUyye8kuaCtfzvJ1uN+\nHyRJw+V1CiVJg1ZVf5nkFOAA4E3Al6rq6cux/71Jrk6yLfB44CLgd5N8E9i4qq5J8h7gzKr6kyQb\nAt9IchbwSuDmqto1yVrAeUn+GzicXkthkmOB91bVv7XtMr53QJI0dCaFkiTBzsC3gO2AK2ax/1eA\nZ9Ilhe+mS/a+0W4Avw88L8nhbX1tYItW/vje+MFHANssJv7Xgbe262p9tqqumkUdJUlaLJNCSdJg\nJXkScAKwGfBj4OFdcS4BnlpVd80w1LnAK4DH0LXyvZkuSfzK1FMB+1TV96c9f4BDq+rsaeW/11+v\nqk8m+V+6MY9nJnllVZ0709cpSdLSOKZQkjRYVXVJVT0J+D9ge+CLwJ5V9aTlSAihaxF8FvCrqvoV\ncCnwKrpkEeALwOumNk6yU6/80CRrtPJtk6wD3Ams39t+66q6qqo+CJwOPGH5X60kSYtnS6EkadCS\nzAF+WlW/TrJdVV2+vDGq6hdJfkTXzRO6FsI/BKZiHQl8IMmldCdkrwL2Bv6ZrhvpJV2jITe38m8C\nqyf5FvAxYIMk+wP3AD8C3j6b1ypJ0uJ4SQpJkiRJGjC7j0qSJEnSgJkUSpIkSdKAmRRKkiRJ0oCZ\nFEqSJEnSgJkUSpIkSdKAmRRKkiRJ0oCZFEqSJEnSgJkUSpIkSdKA/T+SW9DDXuRUfwAAAABJRU5E\nrkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10d24ca20>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = df.groupby(\"lang\")[[\"lang\"]].aggregate(count_nonzero).plot(\n",
    "    kind=\"bar\",\n",
    "    figsize=(15, 5),\n",
    "    title=\"# Tweets per Language\",\n",
    "    legend=None\n",
    ")\n",
    "ax.set_ylabel(\"Languagae\")\n",
    "ax.set_xlabel(\"# Tweets\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`Axes` can also be created empty using `matplotlib` and then put some content in them."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x10d29b9b0>"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4UAAAFWCAYAAADe5TgIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xm4JGV5///3h0VAFoU4EsImGASBqMCIuERBYxh/RMGo\nBDRCFMQIbjGJQn4mikokRo2SKAZRGQyRYDQBMWAIorgE2UQRkIggwsgmyqIiAt7fP+o5TM1hljOn\nu2cY6v26rr666umqu5/uc7qr73qWSlUhSZIkSRqm1VZ2BSRJkiRJK49JoSRJkiQNmEmhJEmSJA2Y\nSaEkSZIkDZhJoSRJkiQNmEmhJEmSJA2YSaEkSZIkDZhJoSRpLJKcn+RxSbZOcvESttkiyc96t0ry\n8976766Aeq7dnnezST/X8kqyXZJ7V3Y9JEnDssbKroAkadWXZE1gS+B7wIuBxSaFVfVDYL3efgU8\nsaquWhH1fDBJskZVmQBKklY6WwolSeOwI3B5VRUwlyUkhcuS5PFJbu6tfzLJD3vrn07yp215oyQn\nJrkxyXVJ3pZktd62r05yZZKfJPl8kk3bQ+e2+ytb6+Q+SX4zyZlJbktya5IvLqF+U62Mr03ygyS3\nJDkqSZb1vL19X5Pk+8B3lvO9eXqSb7Q6/ijJPyRZY1rsQ5J8P8lPk/xDb981khzTXtv3k7y+3yLZ\n3sNn9NaPTnJ8b9/PJLmpPfc5SbbtbfvoJGckuSPJeW3f/+k9vmOSL7Y6XZFkn+V53ZKkyTMplCTN\nWpJXJLkN+Brw1Lb858DftQRiq+WJV1VXAJVkh1b0u8B9vTjPBL7clk8Cbge2BnYF9gFe3ur1R8Ab\ngecDGwPfBP6lFwNg26par6r+E3gLcCXwKGAT4O3LqOrzgSe1590feNkMnnfKHwC7ADst4zmmuwd4\nLfAbdO/L84GDp20zr8XdGXhFkt1b+WuBZ9El77vSteYuj1OBxwK/CXwXmN977DjgFrrXewhw4NQD\nSTYAzgI+RvfeHgB8PMlvL+fzS5ImyKRQkjRrVfWJqnokcBGwG/AEuhawDarqkVV1zSzCngs8K8lj\ngDuAz7X1x7fnvCLJlnTJ3Zuq6hdVdQNwDLBfi/GnwLuq6v+q6h7gSOAZSTZewnPeA/wWsEVV/aqq\nzl3CdlPeXVW3tdf3T3SJ4Uyf96i2710zfD9or/v8qrqgqu6rqu8Dx9Mlen1/W1V3tHqdS5e4AuwL\nvL+qbqiqW4H3LMfz3ltVJ1bVz6rql+017dpaJ9cGXgD8dVXdVVXfpkvWp7wQ+E5VndTqfQHd3/NF\ny/PaJUmT5ZhCSdKsJNkIuBoI3TjBLwFrtYd/muTtVfWBWYT+MrA78LO2/CW6VrG1Wdj1c8u2fkuv\n5+ZqwFW9xz+S5EO9uPcCm9G1Lk53FPAO4Jwk9wAfrqr3L6WO1/WWr6VLKGf6vP19ZyzJ9sD76FoB\n16E7hn9t2mY39pZ/wcLxm7817XlnXIfWRfXv6BK8RwG/pvub/wawZlu+flrsqWR0S+CZrQV5yhrA\nT2f6/JKkybOlUJI0K1X1k9ZK+Grg+LZ8JvD81ko4m4QQukTwWSzsKnpuW34WC7uOXkeXNG7YnuuR\nVbVBVe3ce/xPeo89sqrWqaqLgFrMa7m9qt5QVVvStWK9NcnTl1LHzXvLWwA/msHz3v90y/Fe9H2U\nbqzmY6tqA7okNkvf5X430CWmUzaf9vjPgYf31n+zt/wK4LnAHsAjgO1aeeiS0AI27W3fj30d8N/T\n3o/1quqNM6y3JGkFMCmUJI1qFxZOLLMTXVfSUXwHWB14CXBuVf2YrtVrL1pS2LpHnge8J8n6SVZL\nsk1vspSP0CV22wIk2TDJi9q+d7NwLCLt8Reku5RG2mP30bWILclbkjyidXF9LfBvy3re5THVNbN3\nC7A+cHtV/ayNuXzVcoQ8BfizNqHObwB/Me3xS4D926QyuwF79x5bH/glcCuwLvCuqQdad9LPAUe2\neu4IvLS3738COyX5oyRrJnlYkt2SPG456i5JmjCTQknSqHYBLm7Jxn1VNVLXwDaD6VeAH1XV1Eyk\nX6Yb99efsXN/4JF0E5/8hC4x27jF+BTdWL/PJrmDLul5bm/fvwE+3SbDeQHweOAc4E66lsn3VtX/\nLqWanwe+BVwIfJo2mcwMnncmVgfumnZ7OvBnwMFJfgZ8iIWJ6Ez8E/B14HLgfOB04O7e438F/A5w\nG3AEcHLvsY/RTSRzI3Ap8NVpsV9N1z31Frpxjp+ait3+F/aka228ga5F9V103U4lSQ8S6Y69kiRp\nWdrEKncBm1fV9cva/sEqyQuBo6tq22VuvPyxPwisXVWvHndsSdJk2FIoSdJDXOti+/tJVk+yBfBW\n4D/GFHvHJDuk8zS6y06MJbYkacVw9lFJkh76VgOOBh5HN0HP5+iNDRzRI4BP0k1OcyPdJTnOHFNs\nSdIKMLHuo22QfX+8w9Z0YzhObOWPAX4A7Ds1/iTJEcBBdAP8X19VX2jluwAn0E3B/V/AG8p+r5Ik\nSZI0shUypjDJ6sAC4CnAYcBPquroJIfTTSf+lnb9pU8Bu9INWP8f4HFVdV+S84HXA9+gSwqPqaoz\nJl5xSZIkSXqIW1FjCp8DfL+qrqWb5np+K58P7NOW9wZOrqq721TjVwG7JtkE2KCqzmutgyf29pEk\nSZIkjWBFjSncj64VEGDjqrqhLd9Imz6c7sK35/X2ub6V3dOWp5c/QJJDgEMA1l133V222267xW0m\nSZIkSQ95F1100Y+ras6ytpt4UpjkYcAL6K57tIiqqiRj679aVccBxwHMnTu3LrzwwnGFliRJkqRV\nSpJrZ7Ldiug++jzg4qq6qa3f1LqE0u6nLky8ANi8t99mrWxBW55eLkmSJEka0YpICvdnYddRgNOA\nA9vygcCpvfL9kqyVZCtgG+D81tX0jiS7JQnd9Y9ORZIkSZI0sol2H02yLvBc4NW94qOBU5IcBFwL\n7AtQVZclOQW4HLgXOKyq7mv7HMrCS1Kc0W6SJEmSpBGtkEtSrAyOKZQkSZI0ZEkuqqq5y9puRV2S\nQpIkSZL0IGRSKEmSJEkDZlIoSZIkSQNmUihJkiRJA2ZSKEmSJEkDZlIoSZIkSQNmUihJkiRJAzbR\ni9dLD2aPOfzzM972B0fvNcGaSJIkSSuPLYWSJEmSNGAmhZIkSZI0YCaFkiRJkjRgJoWSJEmSNGAm\nhZIkSZI0YCaFkiRJkjRgJoWSJEmSNGAmhZIkSZI0YCaFkiRJkjRgJoWSJEmSNGAmhZIkSZI0YCaF\nkiRJkjRgJoWSJEmSNGAmhZIkSZI0YCaFkiRJkjRgJoWSJEmSNGAmhZIkSZI0YCaFkiRJkjRgJoWS\nJEmSNGAmhZIkSZI0YCaFkiRJkjRgE00Kkzwyyb8n+W6SK5I8NclGSc5K8r12v2Fv+yOSXJXkyiR7\n9sp3SXJpe+yYJJlkvSVJkiRpKCbdUvhB4Myq2g54InAFcDhwdlVtA5zd1kmyPbAfsAMwD/hwktVb\nnGOBVwHbtNu8CddbkiRJkgZhYklhkkcAzwQ+BlBVv6qq24C9gflts/nAPm15b+Dkqrq7qq4BrgJ2\nTbIJsEFVnVdVBZzY20eSJEmSNIJJthRuBdwCfCLJN5Mcn2RdYOOquqFtcyOwcVveFLiut//1rWzT\ntjy9XJIkSZI0okkmhWsAOwPHVtVOwM9pXUWntJa/GtcTJjkkyYVJLrzlllvGFVaSJEmSHrImmRRe\nD1xfVd9o6/9OlyTe1LqE0u5vbo8vADbv7b9ZK1vQlqeXP0BVHVdVc6tq7pw5c8b2QiRJkiTpoWpi\nSWFV3Qhcl2TbVvQc4HLgNODAVnYgcGpbPg3YL8laSbaim1Dm/NbV9I4ku7VZRw/o7SNJkiRJGsEa\nE47/OuCkJA8DrgZeQZeInpLkIOBaYF+AqrosySl0ieO9wGFVdV+LcyhwArAOcEa7SZIkSZJGNNGk\nsKouAeYu5qHnLGH7o4CjFlN+IbDjeGsnSZIkSZr0dQolSZIkSQ9iJoWSJEmSNGAmhZIkSZI0YCaF\nkiRJkjRgJoWSJEmSNGAmhZIkSZI0YCaFkiRJkjRgJoWSJEmSNGAmhZIkSZI0YCaFkiRJkjRgJoWS\nJEmSNGAmhZIkSZI0YCaFkiRJkjRgJoWSJEmSNGAmhZIkSZI0YCaFkiRJkjRgJoWSJEmSNGAmhZIk\nSZI0YCaFkiRJkjRgJoWSJEmSNGAmhZIkSZI0YCaFkiRJkjRgJoWSJEmSNGAmhZIkSZI0YCaFkiRJ\nkjRgJoWSJEmSNGAmhZIkSZI0YCaFkiRJkjRgJoWSJEmSNGAmhZIkSZI0YBNNCpP8IMmlSS5JcmEr\n2yjJWUm+1+437G1/RJKrklyZZM9e+S4tzlVJjkmSSdZbkiRJkoZiRbQU7lFVT6qquW39cODsqtoG\nOLutk2R7YD9gB2Ae8OEkq7d9jgVeBWzTbvNWQL0lSZIk6SFvZXQf3RuY35bnA/v0yk+uqrur6hrg\nKmDXJJsAG1TVeVVVwIm9fSRJkiRJI5h0UljA/yS5KMkhrWzjqrqhLd8IbNyWNwWu6+17fSvbtC1P\nL5ckSZIkjWiNCcd/RlUtSPJo4Kwk3+0/WFWVpMb1ZC3xPARgiy22GFdYSZIkSXrImmhLYVUtaPc3\nA/8B7Arc1LqE0u5vbpsvADbv7b5ZK1vQlqeXL+75jququVU1d86cOeN8KZIkSZL0kDSxpDDJuknW\nn1oGfh/4DnAacGDb7EDg1LZ8GrBfkrWSbEU3ocz5ravpHUl2a7OOHtDbR5IkSZI0gkl2H90Y+I92\n9Yg1gH+tqjOTXACckuQg4FpgX4CquizJKcDlwL3AYVV1X4t1KHACsA5wRrtJkiRJkkY0saSwqq4G\nnriY8luB5yxhn6OAoxZTfiGw47jrKEmSJElDtzIuSSFJkiRJepAwKZQkSZKkATMplCRJkqQBMymU\nJEmSpAEzKZQkSZKkATMplCRJkqQBMymUJEmSpAEzKZQkSZKkATMplCRJkqQBMymUJEmSpAEzKZQk\nSZKkATMplCRJkqQBMymUJEmSpAEzKZQkSZKkATMplCRJkqQBMymUJEmSpAEzKZQkSZKkATMplCRJ\nkqQBMymUJEmSpAEzKZQkSZKkATMplCRJkqQBMymUJEmSpAEzKZQkSZKkATMplCRJkqQBMymUJEmS\npAEzKZQkSZKkATMplCRJkqQBMymUJEmSpAGbUVKY5HFJzk7ynbb+hCRvnWzVJEmSJEmTNtOWwo8C\nRwD3AFTVt4H9JlUpSZIkSdKKMdOk8OFVdf60sntnsmOS1ZN8M8npbX2jJGcl+V6737C37RFJrkpy\nZZI9e+W7JLm0PXZMksyw3pIkSZKkpZhpUvjjJI8FCiDJi4EbZrjvG4AreuuHA2dX1TbA2W2dJNvT\ntT7uAMwDPpxk9bbPscCrgG3abd4Mn1uSJEmStBQzTQoPA/4Z2C7JAuCNwGuWtVOSzYC9gON7xXsD\n89vyfGCfXvnJVXV3VV0DXAXsmmQTYIOqOq+qCjixt48kSZIkaQRrzGSjqroa+L0k6wKrVdWdM4z/\nAeDNwPq9so2raqqV8UZg47a8KXBeb7vrW9k9bXl6uSRJkiRpRDNKCgGS7EXXtXPtqSF9VfWOpWz/\nB8DNVXVRkt0Xt01VVZJarhovvY6HAIcAbLHFFuMKK0mSJEkPWTO9JMVHgD8CXgcEeAmw5TJ2ezrw\ngiQ/AE4Gnp3kX4CbWpdQ2v3NbfsFwOa9/TdrZQva8vTyB6iq46pqblXNnTNnzkxemiRJkiQN2kzH\nFD6tqg4AflpVRwJPBR63tB2q6oiq2qyqHkM3gcwXq+qPgdOAA9tmBwKntuXTgP2SrJVkK7oJZc5v\nXU3vSLJbm3X0gN4+kiRJkqQRzLT76F3t/hdJfgu4Fdhkls95NHBKkoOAa4F9AarqsiSnAJfTXe7i\nsKq6r+1zKHACsA5wRrtJkiRJkkY006Tw9CSPBP4euJju0hTHL32XharqS8CX2vKtwHOWsN1RwFGL\nKb8Q2HGmzydJkiRJmpmZzj76zrb4mXYR+rWr6vbJVUuSJEmStCLMKClM8oeLKbsduLSqbl7MLpIk\n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\nOftogI8BV1TV+3sPnQYc2JYPBE7tle+XZK0kW9FNKHN+62p6R5LdWswDevtIkiRJkkawxgRjPx14\nOXBpkkta2V8BRwOnJDkIuBbYF6CqLktyCnA53cylh1XVfW2/Q4ETgHWAM9pNkiRJkjSiiSWFVfVV\nYEnXE3zOEvY5CjhqMeUXAjuOr3aSJEmSJFhBs49KkiRJkh6cTAolSZIkacBMCiVJkiRpwEwKJUmS\nJGnATAolSZIkacBMCiVJkiRpwEwKJUmSJGnATAolSZIkacBMCiVJkiRpwEwKJUmSJGnATAolSZIk\nacBMCiVJkiRpwEwKJUmSJGnATAolSZIkacBMCiVJkiRpwEwKJUmSJGnATAolSZIkacBMCiVJkiRp\nwEwKJUmSJGnATAolSZIkacBMCiVJkiRpwEwKJUmSJGnATAolSZIkacBMCiVJkiRpwEwKJUmSJGnA\nTAolSZIkacBMCiVJkiRpwEwKJUmSJGnATAolSZIkacBMCiVJkiRpwCaWFCb5eJKbk3ynV7ZRkrOS\nfK/db9h77IgkVyW5MsmevfJdklzaHjsmSSZVZ0mSJEkamkm2FJ4AzJtWdjhwdlVtA5zd1kmyPbAf\nsEPb58NJVm/7HAu8Ctim3abHlCRJkiTN0sSSwqo6F/jJtOK9gflteT6wT6/85Kq6u6quAa4Cdk2y\nCbBBVZ1XVQWc2NtHkiRJkjSiFT2mcOOquqEt3whs3JY3Ba7rbXd9K9u0LU8vlyRJkiSNwUqbaKa1\n/NU4YyY5JMmFSS685ZZbxhlakiRJkh6SVnRSeFPrEkq7v7mVLwA27223WStb0Janly9WVR1XVXOr\nau6cOXPGWnFJkiRJeiha0UnhacCBbflA4NRe+X5J1kqyFd2EMue3rqZ3JNmtzTp6QG8fSZIkSdKI\n1phU4CSfAnYHHpXkeuBtwNHAKUkOAq4F9gWoqsuSnAJcDtwLHFZV97VQh9LNZLoOcEa7SZIkSZLG\nYGJJYVXtv4SHnrOE7Y8CjlpM+YXAjmOsmiRJkiSpWWkTzUiSJEmSVr6JtRRKQ/WYwz8/421/cPRe\nE6yJJEmStGy2FEqSJEnSgJkUSpIkSdKAmRRKkiRJ0oCZFEqSJEnSgJkUSpIkSdKAOfuoJEkrkDMU\nS5IebGwplCRJkqQBMymUJEmSpAEzKZQkSZKkATMplCRJkqQBMymUJEmSpAEzKZQkSZKkATMplCRJ\n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\nrkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10d86db70>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(1, figsize=(15, 5))\n",
    "df.groupby(\"lang\")[[\"lang\"]].aggregate(count_nonzero).plot(ax=ax,\n",
    "    kind=\"bar\",\n",
    "    title=\"# Tweets per Language\",\n",
    "    legend=None\n",
    ")\n",
    "ax.set_ylabel(\"Languagae\")\n",
    "ax.set_xlabel(\"# Tweets\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "There are other styles available as well."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['seaborn-pastel',\n",
       " 'dark_background',\n",
       " 'seaborn-darkgrid',\n",
       " 'grayscale',\n",
       " 'seaborn',\n",
       " 'seaborn-bright',\n",
       " 'seaborn-deep',\n",
       " 'seaborn-poster',\n",
       " 'seaborn-dark-palette',\n",
       " 'seaborn-muted',\n",
       " 'bmh',\n",
       " 'ggplot',\n",
       " 'seaborn-colorblind',\n",
       " 'classic',\n",
       " 'seaborn-notebook',\n",
       " 'fivethirtyeight',\n",
       " 'seaborn-white',\n",
       " 'seaborn-whitegrid',\n",
       " 'seaborn-ticks',\n",
       " 'seaborn-dark',\n",
       " 'seaborn-talk',\n",
       " 'seaborn-paper']"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "plt.style.available"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10dbab780>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "with plt.style.context('ggplot'):\n",
    "    df.groupby(\"lang\")[[\"lang\"]].aggregate(count_nonzero).plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nkf8PDOzfBLeUuMMAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1113e77f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Even a special one for XKCD!\n",
    "with plt.xkcd():\n",
    "    df.groupby(\"lang\")[[\"lang\"]].aggregate(count_nonzero).plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`seaborn`, a convenience wrapper around `matplotlib`, changes the default style after being imported, but it can be reverted back easily setting the default style to `classic` using `plt.style.use(\"classic\")`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x112f81a58>"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x112f72da0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "df.groupby(\"lang\")[[\"lang\"]].aggregate(count_nonzero).plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's create a hitogram with the lengths of tweets."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x10dc2ec18>"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nCA4OZufOnQwdOpTVq1fnWqZ8lb8dr4iIFD46EygiIqYKCwsjICCA22+/Hbvdjt1u59VXXy2yhcjf\njldERAofnQkUERERERHxI5oYRkRERERExI+oBIqIiIiIiPgRlUARERERERE/UiQnhsnOzuHs2TSz\nY8hVKlYsROPnwzR+vktj59s0fr5LY+fbNH6+rSiPX6lS4ZdcViTPBNrtNrMjyD+g8fNtGj/fpbHz\nbRo/36Wx820aP9/mr+NXJEugiIiIiIiIXJxKoIiIiIiIiB9RCRQREREREfEjKoEiIiIiIiJ+RCVQ\nRERERETEj6gEioiIiIiI+BGVQBERERERET+iEigiIiIiIuJHVAJFRERERET8iEqgiIiIiIiIH1EJ\nFBERERER8SN2swOIiIiIiIhvabphodkR8sXB7n3MjmAKnQkUERERERHxIyqBIiIiIiIifkQlUERE\nRERExI+oBIqIiIiIiPgRlUARERERERE/ohIoIiIiIiLiR1QCRURERERE/IhKoIiIiIiIiB9RCRQR\nEREREfEjKoEiIiIiIiJ+RCVQRERERETEj6gEioiIiIiI+BGVQBERERERET+iEigiIiIiIuJHVAJF\nRERERET8iEqgiIiIiIiIH1EJFBERERER8SMqgSIiIiIiIn5EJVBERERERMSPqASKiIiIiIj4EZVA\nERERERERP6ISKCIiIiIi4kfs3tqw2+3mueeeY+/evTgcDiZNmkSlSpU8y5ctW8bMmTOx2+307t2b\nvn37kpWVxTPPPMPRo0dxuVwMGzaMjh07smvXLoYOHcp1110HwIABA7j55pu9FV1ERERERKTI8loJ\nXLJkCS6Xi88//5zY2FimTp3KrFmzAMjKymLKlCnMnTuX4OBgBgwYQIcOHVi5ciVRUVG89NJLJCYm\nctttt9GxY0d27tzJfffdx6BBg7wVV0RERERExC94rQRu3bqV1q1bA9CgQQN27NjhWXbgwAEqVqxI\nZGQkAI0bN2bz5s106dKFzp07A2AYBjabDYAdO3Zw8OBBli5dSqVKlXjmmWcICwvzVnQREREREZEi\ny2slMDU19byiZrPZyM7Oxm63k5qaSnh4uGdZaGgoqamphIaGetZ99NFHGTFiBAD169enT58+1KtX\nj1mzZjFz5kxGjRqV6/5LlQrPdbkUbho/36bx810aO9+m8fNdGjvfpvHzbf44fl4rgWFhYTidTs9r\nt9uN3W6/6DKn0+kphceOHePhhx/mjjvuoHv37gBER0cTERHh+fvEiRMvu/9Tp1Ly7VikYJUqFa7x\n82EaP9+lsfNtGj/fpbHzbRo/31dUxy+3cuu12UEbNWrEqlWrAIiNjaVGjRqeZVWrViUuLo7ExERc\nLhdbtmyhYcOGnD59mkGDBvHUU09x++23e94/ePBgtm3bBsD69eupW7eut2KLiIiIiIgUaV47Exgd\nHc3atWvp378/hmEwefJk5s+fT1paGv369SMmJobBgwdjGAa9e/emTJkyTJo0ieTkZN58803efPNN\nAN555x2ee+45Jk6cSEBAACVLlszTmUARERERERG5kMUwDMPsEN5QVE/r+gNdVuHbNH6+S2Pn2zR+\nvktj59v8dfyablhodoR8cbB7nyI7fqZcDioiIiIiIiKFj0qgiIiIiIiIH1EJFBERERER8SMqgSIi\nIiIiIn5EJVBERERERMSPqASKiIiIiIj4EZVAERERERERP6ISKCIiIiIi4kdUAkVERERERPyISqCI\niIiIiIgfUQkUERERERHxIyqBIiIiIiIifkQlUERERERExI+oBIqIiIiIiPgRlUARERERERE/ohIo\nIiIiIiLiR1QCRURERERE/IhKoIiIiIiIiB9RCRQREREREfEjKoEiIiIiIiJ+RCVQRERERETEj6gE\nioiIiIiI+BGVQBERERERET+iEigiIiIiIuJHVAJFRERERET8iEqgiIiIiIiIH1EJFBERERER8SMq\ngSIiIiIiIn5EJVBERERERMSPqASKiIiIiIj4EZVAERERERERP6ISKCIiIiIi4kdUAkVERERERPyI\nSqCIiIiIiIgfUQkUERERERHxIyqBIiIiIiIifkQlUERERERExI+oBIqIiIiIiPgRu7c27Ha7ee65\n59i7dy8Oh4NJkyZRqVIlz/Jly5Yxc+ZM7HY7vXv3pm/fvmRlZfHMM89w9OhRXC4Xw4YNo2PHjsTF\nxRETE4PFYqF69eqMHz8eq1X9VURERERE5Ep5rQQuWbIEl8vF559/TmxsLFOnTmXWrFkAZGVlMWXK\nFObOnUtwcDADBgygQ4cOrFy5kqioKF566SUSExO57bbb6NixI1OmTGHEiBE0a9aMcePGsXTpUqKj\no70VXURERERECqEKx0/QbfU66v96gEink6OlSjLhgftICQ0xO5pP8VoJ3Lp1K61btwagQYMG7Nix\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x111460860>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(1, figsize=(15, 5))\n",
    "df[\"length\"].hist(ax=ax, bins=15, normed=True, color='lightseagreen')\n",
    "df[\"length\"].plot(ax=ax, kind='kde', xlim=(0, 150), style='r--')\n",
    "ax.set_title(\"Histogram of lengths of tweets\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Boxplots are available by default."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x11141db00>"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nLgA0prf9pa5Zs/75lGq1mra2tsydOzfVavV1y/810ADAW3vbQV60aFFGRkaSJMPDw+no6Mj555+f\nJ598MuPj4xkdHc2BAweyYMGCaR8WABrV2/7pzNtuuy2rVq3KwMBA5s+fn66ursyePTu9vb3p6elJ\nrVbLihUrMmfOnBMxLwA0pOMK8llnnZUtW7YkSc4555wMDQ29YZvu7u50d3dP73QAMEP4YRAAKIAg\nA0ABBBkACiDIAFAAQQaAAggyABRAkAGgAIIMAAUQZAAogCADQAEEGQAKIMgAUABBBoACCDIAFECQ\nAaAAggwABRBkACiAIANAAQQZAAogyABQAEEGgAIIMgAUQJABoACCDAAFEGQAKIAgA0ABBBkACiDI\nAFAAQQaAAggyABRAkAGgAIIMAAVoqvcAMBPdcO+ueo9QhJaT/AuC/1ep1Wq1eu384MHReu0aZrQb\n7t2Vh/ovrfcYMOPMm9f6puucsgaAAggyABRgSh/gTExMpL+/Py+88EJmzZqVu+++O01NTenv70+l\nUsm5556bNWvWZNYsvQeA4zGlID/66KM5fPhwNm/enF/96ldZt25dJiYm0tfXl6VLl2b16tXZuXNn\nLrvssumeFwAa0pQOYc8555wcOXIkR48ezdjYWJqamrJv374sWbIkSdLZ2Zndu3dP66AA0MimdIT8\n/ve/Py+88EKuuOKKvPrqq3nggQfyxBNPpFKpJElaWloyOuob1ABwvKYU5B/96Ee5+OKL8/Wvfz0v\nvvhivvCFL2RiYmJyfbVaTVtb27QNCQCNbkqnrNva2tLa+o9rqT7wgQ/k8OHDWbRoUUZGRpIkw8PD\n6ejomL4pAaDBTekI+frrr8/KlSvT09OTiYmJrFixIh/+8IezatWqDAwMZP78+enq6pruWQGgYU0p\nyC0tLfn2t7/9huVDQ0PveCAAmIlcKAwABRBkACiAIANAAQQZAAogyABQAEEGgAIIMgAUQJABoACC\nDAAFEGQAKIAgA0ABBBkACiDIAFAAQQaAAggyABRAkAGgAIIMAAUQZAAogCADQAEEGQAKIMgAUABB\nBoACCDIAFECQAaAAggwABRBkACiAIANAAQQZAAogyABQAEEGgAIIMgAUQJABoACCDAAFEGQAKIAg\nA0ABBBkACtA01Sd+//vfz65duzIxMZFrr702S5YsSX9/fyqVSs4999ysWbMms2bpPQAcjykVc2Rk\n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\nAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10bb9da58>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(1, figsize=(8, 6))\n",
    "df.boxplot(column=\"length\", grid=False, ax=ax)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Although violinplots can be used through `seaborn`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x11301f9e8>"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\ntqmaegAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11311b198>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(1, figsize=(8, 6))\n",
    "sns.violinplot(y=df[\"length\"], grid=False, ax=ax)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div style=\"font-size: 1em; margin: 1em 0 1em 0; border: 1px solid #86989B; background-color: #f7f7f7; padding: 0;\">\n",
    "<p style=\"margin: 0; padding: 0.1em 0 0.1em 0.5em; color: white; border-bottom: 1px solid #86989B; font-weight: bold; background-color: #AFC1C4;\">\n",
    "Activity\n",
    "</p>\n",
    "<p style=\"margin: 0.5em 1em 0.5em 1em; padding: 0;\">\n",
    "Given the twitter `DataFrame`, let's try to find out visually if there is any sort of relationship between the length of a tweet and the number of hastags it uses.\n",
    "</p>\n",
    "</div>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x113187278>"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3kAAAFKCAYAAACggZb/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xt8U/X9P/BXkibpJWnpJRWkgEAp4hQoIpeBIKyuuKnz\ngrB14ny4uU0nDn97TFBuc445FfnK0E1l+7qHoAMU5vSrc05QQUGuFZBxsUyQYqHpLU16OUmTz++P\nrgUkPaf2NEnP57ye/2j7guZzOGmbd96fi0UIIUBERERERERSsCZ6AERERERERNR9WOQRERERERFJ\nhEUeERERERGRRFjkERERERERSYRFHhERERERkURY5BEREREREUmERR4RkUH85je/wXe+8x185zvf\nwaWXXori4uL2j5ubm2P2uC+//DJefPHFTv/58vJyFBYWxmQsJ06cwOzZs7/S48RyPN1h1qxZeOut\nt+LyWOFwGHfddReKi4uxevXqc7J58+bhz3/+c7c8zoYNG/CTn/wkavbee+9h+fLl3fI4REQUXVKi\nB0BERJ2zYMGC9v+fOnUqli5dissuuyzmj7t7924MGTIk5o/TGV988QU+++yzRA/DsE6fPo0PPvgA\nH3/8MWw2W0LGsH//fvh8voQ8NhGRWbDIIyKSwG9/+1ukpKTgvvvug9frxZVXXonnn38e48ePx2uv\nvYaNGzdi+fLlePnll/HXv/4VkUgEvXr1wsKFCzF48GAEg0EsXboUO3fuRDgcxiWXXIIFCxZg27Zt\n2LRpEz788EMkJydj3LhxmD9/PoLBIIQQmD59Or7//e+rju2Pf/wj3n77bUQiEfTt2xeLFy/GBRdc\ngFmzZmHkyJHYs2cPKioqcPnll+PRRx+F1WrFhg0b8Nxzz7U/5gsvvID9+/djwYIFOH36NH74wx/i\noYceQjgcxqJFi7B//37U19fj/vvvR3Fx8XljiEQimD9/Pg4cOICkpCQsWLAAI0aMwLRp07Bw4UJM\nnDgRQGshPWTIEPzgBz9o/7vl5eW4/fbbMXnyZOzduxc+nw/33XcfvvWtb2HFihWora3FokWLAOCc\nj2fNmoWvfe1r+Oijj1BdXY3bbrsN1dXV2LFjB5qamvDkk09i6NChAIB//etfeO6559Dc3IzrrrsO\nd911FwBgz549WLp0KZqammCxWDB79mxMmTIFGzZswCuvvIKmpia4XC6sWrXqnOvdtWsXHnvsMTQ1\n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\nOqOurq69MNm0aROcTmd7l+n73/8+XnjhBQghvnJHKDMzEwcOHIAQAo2Njfjggw++8tgA4NVXX4UQ\nAj6fD//4xz8wadIkjBw5EsePH8fOnTsBAAcPHkRxcXH7/evIiBEj8Nlnn2Hfvn0AgE8//RQ7d+7E\nmDFjujS2Tz75BFlZWbj77rtx5ZVXtv87hsNhLF26FH/4wx9QVFSE+fPnIz8/H8eOHVP9emc/nz74\n4APceOONuOWWWzBw4EBs2rQJ4XAYLpcLo0aNwoYNGwC07qq6bds2WCwWvPvuu7j99ttRWFiI2bNn\n44YbbsChQ4e6dG1ERLJiJ4+ISBLjx4/H6dOn8b3vfQ9Aa7H05ptvYurUqQBap9bdeeeduOOOO2Cx\nWOByufDUU0/BYrHg7rvvxqOPPoobb7wR4XAYw4YNw7x58wAAkyZNwsMPPwwAuPvuuzF//nysXbsW\nNpsNRUVFqsXDLbfcgtOnT2PGjBmwWCzo06cPfve736lex8CBA/HAAw/ghz/8IRwOB4YNG3bOFEKb\nzYbp06fjf/7nfzr9b5OdnY23334bTz75JFJSUrBixYr2TtPFF1+MjIyMc6axdtb111+PLVu24Jvf\n/CYuuOACFBYWRu1YaXG73bjpppvQ3NyMW2+9tX1a5e9//3s89thjUBQFQgg89thj6Nu3r+rXysrK\nwvLly/Hwww+jubkZFosFjzzyCAYOHIjy8vKvPLYJEybglVdewbRp05CSkoLhw4cjKysLx48fxw9+\n8APMmzcP1157LRwOB4YOHYprr70W//d//9fh1xs/fjxmz54Nu92OO+64A4sWLcKGDRtgs9nwta99\nDUeOHAEAPProo5g/fz5eeuklXHDBBcjLy0NycjImTZqEzZs349prr0VqaioyMjLan59ERNTKIrry\n24iIiChGTpw4gb///e+4++67YbVa8fbbb2PlypXndPS60+eff95+Vl1bMUmJ98c//hHf/OY3MXjw\nYPj9flx//fVYuXIl8vPzEz00IqIej508IiLqUXr37o3Kykpcd911sNlscLvd+O1vfxuTx1q+fDnW\nrVuH+fPns8DrYS666CLcd999sFqtCIfDuPPOO1ngERF1Ejt5REREREREEuHGK0RERERERBJhkUdE\nRERERCQRFnlEREREREQSMeTGK16vP9FDoCgyM1NRW9uY6GFQAvDemxPvu3nx3psX77058b73TB6P\n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\nJyIiIiIi6m4s8nRoCbfoyomIiIiIiLobizwddhzy6sqJiIiIiIi6G4s8HYYPytSVExERERERdTcW\neTo0NKuvudPKiYiIiIiIuhuLPB2G9uulKyciIiIiIupuLPJ0qAsEdeVERERERETdjUWeDhfmpOrK\niYiIiIiIuhuLPB0276vQlRMREREREXU3Fnk6nPT6deVERERERETdLSmeDxYKhfDggw/i5MmTCAaD\nuOuuu5Cfn4958+bBYrFgyJAhWLx4MaxWY9Sek0dciHXvfaaaExERERERxVNci7zXXnsNvXr1wuOP\nP466ujrccMMNuPjiizFnzhyMHTsWixYtwsaNG3H11VfHc1hdlp6WrCsnIiIiIiLqbnFtmU2bNg0/\n//nPAQBCCNhsNhw4cABjxowBAEyaNAlbt26N55B0caWo18haORERERERUXeLaxWSlpYGAAgEArj3\n3nsxZ84cPProo7BYLO2536+9ji0zMxVJSbaYjrUzTmw/oZ5XN+Mb491xGk3P4PGY63rpDN57c+J9\nNy/ee/PivTcn3ndjiXurqaKiAj/72c9QUlKC6667Do8//nh71tDQgPT0dM2vUVvbGMshdtqgC9SP\nSBh0QSq8Jtp8xeNxm+p66Qzee3PifTcv3nvz4r03J973nkmt8I7rdM2qqirccccd+OUvf4np06cD\nAC655BJs374dALB582aMHj06nkPSyaIzJyIiIiIi6l5xLfKeeeYZ1NfX4w9/+ANmzZqFWbNmYc6c\nOVixYgVmzpyJUCiE4uLieA5Jl9Rk9SmjWjkREREREVF3i+t0zQULFmDBggXnfX716tXxHEa3OelV\nnzZ60tuIAb0z4jQaIiIiIiIiHoauy8A+6gtQtXIiIiIiIqLuxiJPB5tN/Z9PKyciIiIiIupurEJ0\nsFnVN1bRyomIiIiIiLobizwdjlWobyWrlRMREREREXU3Fnl68AQFIiIiIiLqYVjk6VDQr5eunIiI\niIiIqLuxyNPBnepAnictapbnSYM71RHnERERERERkdmxyNNpwQ8uR79cF9r2WLFagH65Liz4weWJ\nHRgREREREZlSXA9Dl5EjKQkP3TEG/sYgyisDyMt1sYNHREREREQJwyKvm7hTHRh2UVaih0FERERE\nRCbH6ZpEREREREQSYZFHREREREQkERZ5REREREREEmGRR0REREREJBEWeURERERERBJhkUdERERE\n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\nJ7Nx40buueceDMPAarUSiURu2j81NZXDhw+TkZFBW1sbRUVFdzgTIiIy3qnkiYhITKisrCQ9PR2f\nz0d6ejp79uy5o+vxAE6ePEl2dja5ubkkJSVx+vRpwuEwjY2N1NTUkJ2djcfj4caNGwQCgb8dx2q1\nEgqFADhx4gRut5vs7GyuXr1KX18fkUiE9PR02traMAyDvr4+Tp06hcVi4c0338Tn87Fq1SoqKir4\n/PPPRzUvIiIy/mi5poiIxITz58+zcOFCAL788su/fFTCrTzzzDOUlZXR3t7OxIkTWbBgAX6/n+ef\nf57S0lIcDgdxcXG8+OKL2Gy2vx0nLS2N8vJykpKSKCwsZNu2bdhsNqZOncojjzyC3+9nzZo1fPHF\nFzgcDqZNm0ZycjIJCQk4nU62bt3Ke++9h9VqxePx/OM5ERGR8cli/LbeRERERKLm448/xjAMlixZ\nQiAQYOXKlbS0tGC3282OJiIi/+dU8kREREzw3XffsW3bNoaGhgBwuVw33fVTRETkn1DJExERERER\niSG68YqIiIiIiEgMUckTERERERGJISp5IiIiIiIiMUQlT0REREREJIao5ImIiIiIiMQQlTwRERER\nEZEY8h+krFuKxxHwQgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1131c7208>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Write your code here\n",
    "def count_hashtags(text):\n",
    "    return len(text.split(\",\"))\n",
    "\n",
    "df[\"hashtags_count\"] = df[\"hashtags\"].apply(count_hashtags)\n",
    "\n",
    "fig, ax = plt.subplots(1, figsize=(15, 5))\n",
    "ax.scatter(x=df[\"hashtags_count\"], y=df[\"length\"])\n",
    "ax.set_ylabel(\"Length\")\n",
    "ax.set_xlabel(\"# Hashtags\")\n",
    "ax.set_title(\"Tweets length by number of hashtags\")"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
